diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f99a336dbb..1b4cae3aaa 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -61,6 +61,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/MANYBODY/pair_nb3b_screened.* @flodesani src/REPLICA/*_grem.* @dstelter92 src/EXTRA-COMPUTE/compute_stress_mop*.* @RomainVermorel src/EXTRA-COMPUTE/compute_born_matrix.* @Bibobu @athomps @@ -135,6 +136,7 @@ src/timer.* @akohlmey src/utils.* @akohlmey @rbberger src/verlet.* @sjplimp @stanmoore1 src/math_eigen_impl.h @jewettaij +src/fix_press_langevin.* @Bibobu # tools tools/coding_standard/* @akohlmey @rbberger @@ -151,12 +153,12 @@ tools/vim/* @hammondkd unittest/* @akohlmey # cmake -cmake/* @rbberger +cmake/* @akohlmey cmake/Modules/LAMMPSInterfacePlugin.cmake @akohlmey cmake/Modules/MPI4WIN.cmake @akohlmey cmake/Modules/OpenCLLoader.cmake @akohlmey -cmake/Modules/Packages/COLVARS.cmake @rbberger @giacomofiorin -cmake/Modules/Packages/KIM.cmake @rbberger @ellio167 +cmake/Modules/Packages/COLVARS.cmake @giacomofiorin +cmake/Modules/Packages/KIM.cmake @ellio167 cmake/presets/*.cmake @akohlmey # python diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index c7abfebf3a..891d1ad5e5 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -5,9 +5,9 @@ Thank you for considering to contribute to the LAMMPS software project. The following is a set of guidelines as well as explanations of policies and work flows for contributing to the LAMMPS molecular dynamics software project. These guidelines focus on submitting issues or pull requests on the LAMMPS GitHub project. Thus please also have a look at: -* [The guide for submitting new features in the LAMMPS manual](https://www.lammps.org/doc/Modify_contribute.html) -* [The guide on programming style and requirement in the LAMMPS manual](https://www.lammps.org/doc/Modify_style.html) -* [The GitHub tutorial in the LAMMPS manual](http://lammps.sandia.gov/doc/Howto_github.html) +* [The guide for submitting new features in the LAMMPS manual](https://docs.lammps.org/Modify_contribute.html) +* [The guide on programming style and requirement in the LAMMPS manual](https://docs.lammps.org/Modify_requirements.html) +* [The GitHub tutorial in the LAMMPS manual](http://docs.lammps.org/Howto_github.html) ## Table of Contents @@ -27,17 +27,17 @@ __ ## I don't want to read this whole thing I just have a question! -> **Note:** Please do not file an issue to ask a general question about LAMMPS, its features, how to use specific commands, or how perform simulations or analysis in LAMMPS. Instead post your question to either the ['lammps-users' mailing list](https://lammps.sandia.gov/mail.html) or the [LAMMPS Material Science Discourse forum](https://matsci.org/lammps). You do not need to be subscribed to post to the list (but a mailing list subscription avoids having your post delayed until it is approved by a mailing list moderator). Most posts to the mailing list receive a response within less than 24 hours. Before posting to the mailing list, please read the [mailing list guidelines](https://lammps.sandia.gov/guidelines.html). Following those guidelines will help greatly to get a helpful response. Always mention which LAMMPS version you are using. The LAMMPS forum was recently created as part of a larger effort to build a materials science community and have discussions not just about using LAMMPS. Thus the forum may be also used for discussions that would be off-topic for the mailing list. Those will just have to be posted to a more general category. +> **Note:** Please do not file an issue to ask a general question about LAMMPS, its features, how to use specific commands, or how perform simulations or analysis in LAMMPS. Instead post your question to the [LAMMPS Material Science Discourse forum](https://matsci.org/lammps). Before posting to the forum, please read the general [guidelines](https://www.lammps.org/guidelines.html) and the forum specific [suggestions](https://matsci.org/t/please-read-this-first-guidelines-and-suggestions-for-posting-lammps-questions/49913). Following those guidelines and suggestions will help greatly to get a helpful response. *Always* mention which LAMMPS version you are using. The MatSci website may be also used for discussions that would be off-topic for the LAMMPS categories. Those will just have to be posted to a different category. ## How Can I Contribute? There are several ways how you can actively contribute to the LAMMPS project: you can discuss compiling and using LAMMPS, and solving LAMMPS related problems with other LAMMPS users on the lammps-users mailing list or the forum, you can report bugs or suggest enhancements by creating issues on GitHub (or posting them to the lammps-users mailing list or posting in the LAMMPS Materials Science Discourse forum), and you can contribute by submitting pull requests on GitHub or e-mail your code -to one of the [LAMMPS core developers](https://lammps.sandia.gov/authors.html). As you may see from the aforementioned developer page, the LAMMPS software package includes the efforts of a very large number of contributors beyond the principal authors and maintainers. +to one of the [LAMMPS core developers](https://www.lammps.org/authors.html). As you may see from the aforementioned developer page, the LAMMPS software package includes the efforts of a very large number of contributors beyond the principal authors and maintainers. ### Discussing How To Use LAMMPS The LAMMPS mailing list is hosted at SourceForge. The mailing list began in 2005, and now includes tens of thousands of messages in thousands of threads. LAMMPS developers try to respond to posted questions in a timely manner, but there are no guarantees. Please consider that people live in different timezone and may not have time to answer e-mails outside of their work hours. -You can post to list by sending your email to lammps-users at lists.sourceforge.net (no subscription required), but before posting, please read the [mailing list guidelines](https://lammps.sandia.gov/guidelines.html) to maximize your chances to receive a helpful response. +You can post to list by sending your email to lammps-users at lists.sourceforge.net (no subscription required), but before posting, please read the [mailing list guidelines](https://www.lammps.org/guidelines.html) to maximize your chances to receive a helpful response. Anyone can browse/search previous questions/answers in the archives. You do not have to subscribe to the list to post questions, receive answers (to your questions), or browse/search the archives. You **do** need to subscribe to the list if you want emails for **all** the posts (as individual messages or in digest form), or to answer questions yourself. Feel free to sign up and help us out! Answering questions from fellow LAMMPS users is a great way to pay back the community for providing you a useful tool for free, and to pass on the advice you have received yourself to others. It improves your karma and helps you understand your own research better. @@ -47,7 +47,7 @@ The LAMMPS Materials Science Discourse forum was created recently to facilitate ### Reporting Bugs -While developers writing code for LAMMPS are careful to test their code, LAMMPS is such a large and complex software, that it is impossible to test for all combinations of features under all normal and not so normal circumstances. Thus bugs do happen, and if you suspect, that you have encountered one, please try to document it and report it as an [Issue](https://github.com/lammps/lammps/issues) on the LAMMPS GitHub project web page. However, before reporting a bug, you need to check whether this is something that may have already been corrected. The [Latest Features and Bug Fixes in LAMMPS](https://lammps.sandia.gov/bug.html) web page lists all significant changes to LAMMPS over the years. It also tells you what the current latest development version of LAMMPS is, and you should test whether your issue still applies to that version. +While developers writing code for LAMMPS are careful to test their code, LAMMPS is such a large and complex software, that it is impossible to test for all combinations of features under all normal and not so normal circumstances. Thus bugs do happen, and if you suspect, that you have encountered one, please try to document it and report it as an [Issue](https://github.com/lammps/lammps/issues) on the LAMMPS GitHub project web page. However, before reporting a bug, you need to check whether this is something that may have already been corrected. The [Latest Features and Bug Fixes in LAMMPS](https://www.lammps.org/bug.html) web page lists all significant changes to LAMMPS over the years. It also tells you what the current latest development version of LAMMPS is, and you should test whether your issue still applies to that version. When you click on the green "New Issue" button, you will be provided with a text field, where you can enter your message. That text field with contain a template with several headlines and some descriptions. Keep the headlines that are relevant to your reported potential bug and replace the descriptions with the information as suggested by the descriptions. You can also attach small text files (please add the file name extension `.txt` or it will be rejected), images, or small compressed text files (using gzip, do not use RAR or 7-ZIP or similar tools that are uncommon outside of Windows machines). In many cases, bugs are best illustrated by providing a small input deck (do **not** attach your entire production input, but remove everything that is not required to reproduce the issue, and scale down your system size, that the resulting calculation runs fast and can be run on small desktop quickly). @@ -65,9 +65,9 @@ To be able to submit an issue on GitHub, you have to register for an account (fo We encourage users to submit new features or modifications for LAMMPS. Instructions, guidelines, requirements, and recommendations are in the following sections of the LAMMPS manual: -* [The guide for submitting new features in the LAMMPS manual](https://lammps.sandia.gov/doc/Modify_contribute.html) -* [The guide on programming style and requirement in the LAMMPS manual](https://lammps.sandia.gov/doc/Modify_contribute.html) -* [The GitHub tutorial in the LAMMPS manual](http://lammps.sandia.gov/doc/Howto_github.html) +* [The guide for submitting new features in the LAMMPS manual](https://docs.lammps.org/Modify_contribute.html) +* [The guide on programming style and requirement in the LAMMPS manual](https://docs.lammps.org/Modify_requirements.html) +* [The GitHub tutorial in the LAMMPS manual](http://docs.lammps.org/Howto_github.html) ## GitHub Workflows @@ -85,7 +85,7 @@ For bug reports, the next step is that one of the core LAMMPS developers will se ### Pull Requests Pull requests are the **only** way that changes get made to the LAMMPS distribution. So also the LAMMPS core developers will submit pull requests for their own changes and discuss them on GitHub. Thus if you submit a pull request it will be treated in a similar fashion. When you submit a pull request you may opt to submit a "Draft" pull request. That means your changes are visible and will be subject to testing, but reviewers will not be (auto-)assigned and comments will take into account that this is not complete. On the other hand, this is a perfect way to ask the LAMMPS developers for comments on non-obvious changes and get feedback and possible suggestions for improvements or recommendations about what to avoid. -Immediately after the submission, the LAMMPS continuing integration server at ci.lammps.org will download your submitted branch and perform a number of tests: it will tests whether it compiles cleanly under various conditions, it will also do a check on whether your included documentation translates cleanly and run some unit tests and other checks. Whether these tests are successful or fail will be recorded. If a test fails, please inspect the corresponding output on the CI server and take the necessary steps, if needed, so that the code can compile cleanly again. The test will be re-run each time the pull request is updated with a push to the remote branch on GitHub. If you are unsure about what you need to change, ask a question in the discussion area of the pull request. +Immediately after the submission, the LAMMPS continuing integration server at https://ci.lammps.org will download your submitted branch and perform a number of tests: it will tests whether it compiles cleanly under various conditions, it will also do a check on whether your included documentation translates cleanly and run some unit tests and other checks. Whether these tests are successful or fail will be recorded. If a test fails, please inspect the corresponding output on the CI server and take the necessary steps, if needed, so that the code can compile cleanly again. The test will be re-run each time the pull request is updated with a push to the remote branch on GitHub. If you are unsure about what you need to change, ask a question in the discussion area of the pull request. Next a LAMMPS core developer will self-assign and do an overall technical assessment of the submission. If you submitted a draft pull request, this will not happen unless you mark it "ready for review". If you are not yet invited as a LAMMPS collaborator, and your contribution seems significant, you may also receive an invitation for collaboration on the LAMMPS repository. As part of the assessment, the pull request will be categorized with labels. There are two special labels: `needs_work` (indicates that work from the submitter of the pull request is needed) and `work_in_progress` (indicates, that the assigned LAMMPS developer will make changes, if not done by the contributor who made the submit). You may also receive comments and suggestions on the overall submission or specific details and on occasion specific requests for changes as part of the review. If permitted, also additional changes may be pushed into your pull request branch or a pull request may be filed in your LAMMPS fork on GitHub to include those changes. The LAMMPS developer may then decide to assign the pull request to another developer (e.g. when that developer is more knowledgeable about the submitted feature or enhancement or has written the modified code). It may also happen, that additional developers are requested to provide a review and approve the changes. For submissions, that may change the general behavior of LAMMPS, or where a possibility of unwanted side effects exists, additional tests may be requested by the assigned developer. diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml index b1c23e1f6a..00a4596cc8 100644 --- a/.github/workflows/coverity.yml +++ b/.github/workflows/coverity.yml @@ -59,16 +59,13 @@ jobs: -D BUILD_SHARED_LIBS=on \ -D LAMMPS_SIZES=SMALLBIG \ -D LAMMPS_EXCEPTIONS=off \ - -D PKG_MESSAGE=on \ - -D PKG_MPIIO=on \ -D PKG_ATC=on \ -D PKG_AWPMD=on \ - -D PKG_BOCS=on \ - -D PKG_EFF=on \ -D PKG_H5MD=on \ -D PKG_INTEL=on \ -D PKG_LATBOLTZ=on \ -D PKG_MANIFOLD=on \ + -D PKG_MDI=on \ -D PKG_MGPT=on \ -D PKG_ML-PACE=on \ -D PKG_ML-RANN=on \ @@ -77,7 +74,6 @@ jobs: -D PKG_PTM=on \ -D PKG_QTB=on \ -D PKG_SMTBQ=on \ - -D PKG_TALLY=on \ ../cmake - name: Run Coverity Scan diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index b075fc8f8d..28e02bbee7 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -2,7 +2,6 @@ ######################################## # CMake build system # This file is part of LAMMPS -# Created by Christoph Junghans and Richard Berger cmake_minimum_required(VERSION 3.16) ######################################## # set policy to silence warnings about ignoring _ROOT but use it @@ -106,7 +105,7 @@ 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_TUNE_DEFAULT "-xCOMMON-AVX512") else() - set(CMAKE_TUNE_DEFAULT "-xHost -fp-model fast=2 -no-prec-div -qoverride-limits -diag-disable=10441 -diag-disable=2196") + set(CMAKE_TUNE_DEFAULT "-xHost -fp-model fast=2 -no-prec-div -qoverride-limits -diag-disable=10441 -diag-disable=11074 -diag-disable=11076 -diag-disable=2196") endif() endif() endif() @@ -159,17 +158,20 @@ endif() ######################################################################## # User input options # ######################################################################## -# set path to python interpreter and thus enforcing python version when -# in a virtual environment and PYTHON_EXECUTABLE is not set on command line -if(DEFINED ENV{VIRTUAL_ENV} AND NOT PYTHON_EXECUTABLE) - if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") - set(PYTHON_EXECUTABLE "$ENV{VIRTUAL_ENV}/Scripts/python.exe") - else() - set(PYTHON_EXECUTABLE "$ENV{VIRTUAL_ENV}/bin/python") - endif() +# backward compatibility with CMake before 3.12 and older LAMMPS documentation +if (PYTHON_EXECUTABLE) set(Python_EXECUTABLE "${PYTHON_EXECUTABLE}") +endif() +# set path to python interpreter and thus enforcing python version when +# in a virtual environment and Python_EXECUTABLE is not set on command line +if(DEFINED ENV{VIRTUAL_ENV} AND NOT Python_EXECUTABLE) + if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") + set(Python_EXECUTABLE "$ENV{VIRTUAL_ENV}/Scripts/python.exe") + else() + set(Python_EXECUTABLE "$ENV{VIRTUAL_ENV}/bin/python") + endif() message(STATUS "Running in virtual environment: $ENV{VIRTUAL_ENV}\n" - " Setting Python interpreter to: ${PYTHON_EXECUTABLE}") + " Setting Python interpreter to: ${Python_EXECUTABLE}") endif() set(LAMMPS_MACHINE "" CACHE STRING "Suffix to append to lmp binary (WON'T enable any features automatically") @@ -425,6 +427,18 @@ if(BUILD_OMP) target_link_libraries(lmp PRIVATE OpenMP::OpenMP_CXX) endif() +# lower C++ standard for fmtlib sources when using Intel classic compiler +if((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") AND (CMAKE_CXX_STANDARD GREATER_EQUAL 17) + AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 2021.10)) + message(STATUS "Lowering C++ standard for compiling fmtlib sources with Intel Classic compiler") + get_filename_component(LMP_UTILS_SRC "${LAMMPS_SOURCE_DIR}/utils.cpp" ABSOLUTE) + get_filename_component(LMP_VARIABLE_SRC "${LAMMPS_SOURCE_DIR}/variable.cpp" ABSOLUTE) + get_filename_component(FMT_FORMAT_SRC "${LAMMPS_SOURCE_DIR}/fmtlib_format.cpp" ABSOLUTE) + get_filename_component(FMT_OS_SRC "${LAMMPS_SOURCE_DIR}/fmtlib_os.cpp" ABSOLUTE) + set_source_files_properties("${FMT_FORMAT_SRC}" "${FMT_OS_SRC}" "${LMP_VARIABLE_SRC}" "${LMP_UTILS_SRC}" + PROPERTIES COMPILE_OPTIONS "-std=c++14") +endif() + if(PKG_ATC OR PKG_AWPMD OR PKG_ML-QUIP OR PKG_ML-POD OR PKG_ELECTRODE OR BUILD_TOOLS) enable_language(C) if (NOT USE_INTERNAL_LINALG) @@ -794,9 +808,6 @@ install( ############################################################################### if(BUILD_SHARED_LIBS) # backward compatibility - if(PYTHON_EXECUTABLE) - set(Python_EXECUTABLE ${PYTHON_EXECUTABLE}) - endif() find_package(Python COMPONENTS Interpreter) if(BUILD_IS_MULTI_CONFIG) set(MY_BUILD_DIR ${CMAKE_BINARY_DIR}/$) diff --git a/cmake/Modules/LAMMPSUtils.cmake b/cmake/Modules/LAMMPSUtils.cmake index bb5ea07609..2ec9d1b706 100644 --- a/cmake/Modules/LAMMPSUtils.cmake +++ b/cmake/Modules/LAMMPSUtils.cmake @@ -83,17 +83,17 @@ function(check_for_autogen_files source_dir) file(GLOB SRC_AUTOGEN_FILES CONFIGURE_DEPENDS ${source_dir}/style_*.h) file(GLOB SRC_AUTOGEN_PACKAGES CONFIGURE_DEPENDS ${source_dir}/packages_*.h) list(APPEND SRC_AUTOGEN_FILES ${SRC_AUTOGEN_PACKAGES} ${source_dir}/lmpinstalledpkgs.h ${source_dir}/lmpgitversion.h) - list(APPEND SRC_AUTOGEN_FILES ${SRC_AUTOGEN_PACKAGES} ${source_dir}/mliap_model_python_couple.h ${source_dir}/mliap_model_python_couple.cpp) + list(APPEND SRC_AUTOGEN_FILES ${source_dir}/mliap_model_python_couple.h ${source_dir}/mliap_model_python_couple.cpp) foreach(_SRC ${SRC_AUTOGEN_FILES}) get_filename_component(FILENAME "${_SRC}" NAME) if(EXISTS ${source_dir}/${FILENAME}) message(FATAL_ERROR "\n########################################################################\n" - "Found header file(s) generated by the make-based build system\n" - "\n" - "Please run\n" - "make -C ${source_dir} purge\n" - "to remove\n" - "########################################################################") + "Found header file ${source_dir}/${FILENAME} generated by the make-based build system\n" + "\n" + "Please run\n" + "make -C ${source_dir} purge\n" + "to remove\n" + "########################################################################") endif() endforeach() endfunction() diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index 6359d9e615..0edd9a3baa 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -50,8 +50,8 @@ if(DOWNLOAD_KOKKOS) 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) - set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/4.1.00.tar.gz" CACHE STRING "URL for KOKKOS tarball") - set(KOKKOS_MD5 "a5f096bd8ad01b97fdc7a32583b17a33" CACHE STRING "MD5 checksum of KOKKOS tarball") + set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/4.2.00.tar.gz" CACHE STRING "URL for KOKKOS tarball") + set(KOKKOS_MD5 "731647b61a4233f568d583702e9cd6d1" CACHE STRING "MD5 checksum of KOKKOS tarball") mark_as_advanced(KOKKOS_URL) mark_as_advanced(KOKKOS_MD5) GetFallbackURL(KOKKOS_URL KOKKOS_FALLBACK) @@ -76,7 +76,7 @@ if(DOWNLOAD_KOKKOS) add_dependencies(LAMMPS::KOKKOSCORE kokkos_build) add_dependencies(LAMMPS::KOKKOSCONTAINERS kokkos_build) elseif(EXTERNAL_KOKKOS) - find_package(Kokkos 4.1.00 REQUIRED CONFIG) + find_package(Kokkos 4.2.00 REQUIRED CONFIG) target_link_libraries(lammps PRIVATE Kokkos::kokkos) else() set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos) diff --git a/cmake/Modules/Packages/PYTHON.cmake b/cmake/Modules/Packages/PYTHON.cmake index 59260e39d5..e05edadbf3 100644 --- a/cmake/Modules/Packages/PYTHON.cmake +++ b/cmake/Modules/Packages/PYTHON.cmake @@ -1,6 +1,6 @@ if(NOT Python_INTERPRETER) - # backward compatibility + # backward compatibility with CMake before 3.12 and older LAMMPS documentation if(PYTHON_EXECUTABLE) set(Python_EXECUTABLE ${PYTHON_EXECUTABLE}) endif() diff --git a/cmake/presets/kokkos-cuda.cmake b/cmake/presets/kokkos-cuda.cmake index ace8ff0879..c3ee081898 100644 --- a/cmake/presets/kokkos-cuda.cmake +++ b/cmake/presets/kokkos-cuda.cmake @@ -6,6 +6,8 @@ set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "" FORCE) set(Kokkos_ENABLE_CUDA ON CACHE BOOL "" FORCE) set(Kokkos_ARCH_PASCAL60 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) # hide deprecation warnings temporarily for stable release set(Kokkos_ENABLE_DEPRECATION_WARNINGS OFF CACHE BOOL "" FORCE) diff --git a/doc/Makefile b/doc/Makefile index 2a4edc70f3..b652c515e1 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -63,6 +63,7 @@ help: @echo " anchor_check scan for duplicate anchor labels" @echo " style_check check for complete and consistent style lists" @echo " package_check check for complete and consistent package lists" + @echo " role_check check for misformatted role keywords" @echo " spelling spell-check the manual" # ------------------------------------------ @@ -98,6 +99,7 @@ html: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) $(MATHJAX) env LC_ALL=C grep -n '[^ -~]' $(RSTDIR)/*.rst ;\ env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst ;\ env LC_ALL=C grep -n ' `[^`]\+<[a-z][^`]\+`[^_]' $(RSTDIR)/*.rst ;\ + env LC_ALL=C grep -n ':\(ref\|doc\):[^`]' $(RSTDIR)/*.rst ;\ $(PYTHON) $(BUILDDIR)/utils/check-styles.py -s ../src -d src ;\ echo "############################################" ;\ deactivate ;\ @@ -179,6 +181,7 @@ pdf: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) env LC_ALL=C grep -n '[^ -~]' $(RSTDIR)/*.rst ;\ env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst ;\ env LC_ALL=C grep -n ' `[^`]\+<[a-z][^`]\+`[^_]' $(RSTDIR)/*.rst ;\ + env LC_ALL=C grep -n ':\(ref\|doc\):[^`]' $(RSTDIR)/*.rst ;\ $(PYTHON) utils/check-styles.py -s ../src -d src ;\ echo "############################################" ;\ deactivate ;\ @@ -227,6 +230,7 @@ char_check : role_check : @( env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst && exit 1 || : ) @( env LC_ALL=C grep -n ' `[^`]\+<[a-z][^`]\+`[^_]' $(RSTDIR)/*.rst && exit 1 || : ) + @( env LC_ALL=C grep -n ':\(ref\|doc\):[^`]' $(RSTDIR)/*.rst && exit 1 || : ) link_check : $(VENV) html @(\ diff --git a/doc/lammps.1 b/doc/lammps.1 index 79964d1680..100ea9b663 100644 --- a/doc/lammps.1 +++ b/doc/lammps.1 @@ -1,7 +1,7 @@ -.TH LAMMPS "1" "2 August 2023" "2023-08-2" +.TH LAMMPS "1" "21 November 2023" "2023-11-21" .SH NAME .B LAMMPS -\- Molecular Dynamics Simulator. Version 2 August 2023 +\- Molecular Dynamics Simulator. Version 21 November 2023 .SH SYNOPSIS .B lmp diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index 393d7e1c20..1f643a9d14 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -626,22 +626,22 @@ They must be specified in uppercase. * - HOPPER90 - GPU - NVIDIA Hopper generation CC 9.0 GPU - * - VEGA900 + * - AMD_GFX906 - GPU - - AMD GPU MI25 GFX900 - * - VEGA906 + - AMD GPU MI50/MI60 + * - AMD_GFX908 - GPU - - AMD GPU MI50/MI60 GFX906 - * - VEGA908 + - AMD GPU MI100 + * - AMD_GFX90A - GPU - - AMD GPU MI100 GFX908 - * - VEGA90A + - AMD GPU MI200 + * - AMD_GFX942 - GPU - - AMD GPU MI200 GFX90A - * - NAVI1030 + - AMD GPU MI300 + * - AMD_GFX1030 - GPU - AMD GPU V620/W6800 - * - NAVI1100 + * - AMD_GFX1100 - GPU - AMD GPU RX7900XTX * - INTEL_GEN @@ -666,7 +666,7 @@ They must be specified in uppercase. - GPU - Intel GPU Ponte Vecchio -This list was last updated for version 4.0.1 of the Kokkos library. +This list was last updated for version 4.2 of the Kokkos library. .. tabs:: @@ -1056,12 +1056,12 @@ additional details. .. code-block:: bash - -D PYTHON_EXECUTABLE=path # path to Python executable to use + -D Python_EXECUTABLE=path # path to Python executable to use Without this setting, CMake will guess the default Python version 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 + 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. diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index 923c040aaf..828f0b10d9 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -220,7 +220,8 @@ OPT. * :doc:`morse/soft ` * :doc:`multi/lucy ` * :doc:`multi/lucy/rx (k) ` - * :doc:`nb3b/harmonic ` + * :doc:`nb3b/harmonic ` + * :doc:`nb3b/screened ` * :doc:`nm/cut (o) ` * :doc:`nm/cut/coul/cut (o) ` * :doc:`nm/cut/coul/long (o) ` diff --git a/doc/src/Commands_removed.rst b/doc/src/Commands_removed.rst index 84cc534304..8a00c63734 100644 --- a/doc/src/Commands_removed.rst +++ b/doc/src/Commands_removed.rst @@ -88,7 +88,7 @@ The same functionality is available through MPIIO package ------------- -.. deprecated:: TBD +.. deprecated:: 21Nov2023 The MPIIO package has been removed from LAMMPS since it was unmaintained for many years and thus not updated to incorporate required changes that @@ -107,7 +107,7 @@ see :doc:`restart `, :doc:`read_restart `, MSCG package ------------ -.. deprecated:: TBD +.. deprecated:: 21Nov2023 The MSCG package has been removed from LAMMPS since it was unmaintained for many years and instead superseded by the `OpenMSCG software diff --git a/doc/src/Developer_unittest.rst b/doc/src/Developer_unittest.rst index 9886e9e4b4..67c5ce365a 100644 --- a/doc/src/Developer_unittest.rst +++ b/doc/src/Developer_unittest.rst @@ -180,19 +180,11 @@ discarded but by setting the verbose flag (via setting the ``TEST_ARGS`` environment variable, ``TEST_ARGS=-v``) it can be printed and used to understand why tests fail unexpectedly. -Another complexity of these tests stems from the need to capture -situations where LAMMPS will stop with an error, i.e. handle so-called -"death tests". Here the LAMMPS code will operate differently depending -on whether it was configured to throw C++ exceptions on errors or call -either ``exit()`` or ``MPI_Abort()``. In the latter case, the test code -also needs to detect whether LAMMPS was compiled with the OpenMPI -library, as OpenMPI is **only** compatible the death test options of the -GoogleTest library when C++ exceptions are enabled; otherwise those -"death tests" must be skipped to avoid reporting bogus failures. The -specifics of this step are implemented in the ``TEST_FAILURE()`` -macro. These tests operate by capturing the screen output when executing -the failing command and then comparing that with a provided regular -expression string pattern. Example: +The specifics of so-called "death tests", i.e. conditions where LAMMPS +should fail and throw an exception, are implemented in the +``TEST_FAILURE()`` macro. These tests operate by capturing the screen +output when executing the failing command and then comparing that with a +provided regular expression string pattern. Example: .. code-block:: c++ diff --git a/doc/src/Fortran.rst b/doc/src/Fortran.rst index 913c31842e..76fdff753a 100644 --- a/doc/src/Fortran.rst +++ b/doc/src/Fortran.rst @@ -3038,14 +3038,6 @@ Procedures Bound to the :f:type:`lammps` Derived Type This function can be used to query if an error inside of LAMMPS has thrown a :ref:`C++ exception `. - .. note:: - - This function will always report "no error" when the LAMMPS library - has been compiled without ``-DLAMMPS_EXCEPTIONS``, which turns fatal - errors aborting LAMMPS into C++ exceptions. You can use the library - function :cpp:func:`lammps_config_has_exceptions` to check if this is - the case. - :to: :cpp:func:`lammps_has_error` :r has_error: ``.TRUE.`` if there is an error. :rtype has_error: logical @@ -3068,13 +3060,6 @@ Procedures Bound to the :f:type:`lammps` Derived Type would happen only in a single MPI rank and thus may not be recoverable, as other MPI ranks may be waiting on the failing MPI rank(s) to send messages. - .. note:: - - This function will do nothing when the LAMMPS library has been - compiled without ``-DLAMMPS_EXCEPTIONS``, which turns errors aborting - LAMMPS into C++ exceptions. You can use the function - :f:func:`config_has_exceptions` to check whether this is the case. - :p character(len=\*) buffer: string buffer to copy the error message into :o integer(c_int) status [optional]: 1 when all ranks had the error, 2 on a single-rank error. diff --git a/doc/src/Howto_body.rst b/doc/src/Howto_body.rst index 88fa2d9c97..115b7797c8 100644 --- a/doc/src/Howto_body.rst +++ b/doc/src/Howto_body.rst @@ -170,9 +170,9 @@ with this body style to compute body/body and body/non-body interactions. 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 :doc:`boundary ` command. See the -"pair_style body/rounded/polygon" 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. +:doc:`pair_style body/rounded/polygon ` 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 :ref:`Fraige `. diff --git a/doc/src/Howto_pylammps.rst b/doc/src/Howto_pylammps.rst index 2db61cd5bb..bce37d5ac7 100644 --- a/doc/src/Howto_pylammps.rst +++ b/doc/src/Howto_pylammps.rst @@ -133,7 +133,7 @@ to the location in the virtual environment with: .. code-block:: bash - cmake . -DPYTHON_EXECUTABLE=$(which python) + cmake . -DPython_EXECUTABLE=$(which python) # install LAMMPS package in virtualenv (testing) make install-python diff --git a/doc/src/Howto_structured_data.rst b/doc/src/Howto_structured_data.rst index 3fe630a120..29c65a7a34 100644 --- a/doc/src/Howto_structured_data.rst +++ b/doc/src/Howto_structured_data.rst @@ -119,6 +119,45 @@ for example :doc:`dump yaml ` or :doc:`fix ave/time ` Depending on the kind of data being written, organization of the data or the specific syntax used may change, but the principles are very similar and all files should be readable with a suitable YAML parser. +A simple example for this is given below: + +.. code-block:: python + + import yaml + try: + from yaml import CSafeLoader as YamlLoader + except ImportError: + from yaml import SafeLoader as YamlLoader + + timesteps = [] + with open("dump.yaml", "r") as f: + data = yaml.load_all(f, Loader=YamlLoader) + + for d in data: + print('Processing timestep %d' % d['timestep']) + timesteps.append(d) + + print('Read %d timesteps from yaml dump' % len(timesteps)) + print('Second timestep: ', timesteps[1]['timestep']) + print('Box info: x: ' , timesteps[1]['box'][0], ' y:', timesteps[1]['box'][1], ' z:',timesteps[1]['box'][2]) + print('First 5 per-atom columns: ', timesteps[1]['keywords'][0:5]) + print('Corresponding 10th atom data: ', timesteps[1]['data'][9][0:5]) + +The corresponding output for a YAML dump command added to the "melt" example is: + +.. parsed-literal:: + + Processing timestep 0 + Processing timestep 50 + Processing timestep 100 + Processing timestep 150 + Processing timestep 200 + Processing timestep 250 + Read 6 timesteps from yaml dump + Second timestep: 50 + Box info: x: [0, 16.795961913825074] y: [0, 16.795961913825074] z: [0, 16.795961913825074] + First 5 per-atom columns: ['id', 'type', 'x', 'y', 'z'] + Corresponding 10th atom data: [10, 1, 4.43828, 0.968481, 0.108555] Processing scalar data with Python ---------------------------------- diff --git a/doc/src/Library.rst b/doc/src/Library.rst index 09561cda82..50c28b7fcd 100644 --- a/doc/src/Library.rst +++ b/doc/src/Library.rst @@ -80,13 +80,15 @@ run LAMMPS in serial mode. :class: note If the LAMMPS executable encounters an error condition, it will abort - after printing an error message. For a library interface this is - usually not desirable. Thus LAMMPS can be compiled to to :ref:`throw - a C++ exception ` instead. If enabled, the library - functions will catch those exceptions and return. The error status - :cpp:func:`can be queried ` and an :cpp:func:`error - message retrieved `. We thus - recommend enabling C++ exceptions when using the library interface, + after printing an error message. It does so by catching the + exceptions that LAMMPS could throw. For a C library interface this + is usually not desirable since the calling code might lack the + ability to catch such exceptions. Thus, the library functions will + catch those exceptions and return from the affected functions. The + error status :cpp:func:`can be queried ` and an + :cpp:func:`error message retrieved `. + This is, for example used by the :doc:`LAMMPS python module + ` and then a suitable Python exception is thrown. .. admonition:: Using the C library interface as a plugin :class: note diff --git a/doc/src/Python_error.rst b/doc/src/Python_error.rst index f6a94c0e82..6aec8df391 100644 --- a/doc/src/Python_error.rst +++ b/doc/src/Python_error.rst @@ -15,9 +15,7 @@ Python exception handling mechanism. try: # LAMMPS will normally terminate itself and the running process if an error - # occurs. This would kill the Python interpreter. To avoid this, make sure to - # compile with LAMMPS_EXCEPTIONS enabled. This ensures the library API calls - # will not terminate the parent process. Instead, the library wrapper will + # occurs. This would kill the Python interpreter. The library wrapper will # detect that an error has occured and throw a Python exception lmp.command('unknown') diff --git a/doc/src/Python_install.rst b/doc/src/Python_install.rst index c4fbec0be4..01610b84f0 100644 --- a/doc/src/Python_install.rst +++ b/doc/src/Python_install.rst @@ -5,8 +5,7 @@ The LAMMPS Python module enables calling the :ref:`LAMMPS C library API ` from Python by dynamically loading functions in the LAMMPS shared library through the Python `ctypes `_ module. Because of the dynamic loading, it is required that LAMMPS is -compiled in :ref:`"shared" mode `. It is also recommended to -compile LAMMPS with :ref:`C++ exceptions ` enabled. +compiled in :ref:`"shared" mode `. Two components are necessary for Python to be able to invoke LAMMPS code: diff --git a/doc/src/compute.rst b/doc/src/compute.rst index cc26d9acc9..6737203618 100644 --- a/doc/src/compute.rst +++ b/doc/src/compute.rst @@ -74,7 +74,7 @@ Global, per-atom, local, and per-grid quantities can also be of three for each atom, each local entity, or each grid cell. Note that a single compute can produce any combination of global, -per-atom, local, or per-grid values. Likewise it can prouduce any +per-atom, local, or per-grid values. Likewise it can produce any combination of scalar, vector, or array output for each style. The exception is that for per-atom, local, and per-grid output, either a vector or array can be produced, but not both. The doc page for each diff --git a/doc/src/compute_composition_atom.rst b/doc/src/compute_composition_atom.rst index b7890fff8b..e973eaa234 100644 --- a/doc/src/compute_composition_atom.rst +++ b/doc/src/compute_composition_atom.rst @@ -36,7 +36,7 @@ Examples Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 21Nov2023 Define a computation that calculates a local composition vector for each atom. For a central atom with :math:`M` neighbors within the neighbor cutoff sphere, diff --git a/doc/src/compute_property_atom.rst b/doc/src/compute_property_atom.rst index 5dbf600c36..b03d6eb74e 100644 --- a/doc/src/compute_property_atom.rst +++ b/doc/src/compute_property_atom.rst @@ -128,9 +128,9 @@ Attributes *i_name*, *d_name*, *i2_name*, *d2_name* refer to custom per-atom integer and floating-point vectors or arrays that have been added via the :doc:`fix property/atom ` command. When that command is used specific names are given to each attribute -which are the "name" portion of these attributes. For arrays *i2_name* -and *d2_name*, the column of the array must also be included following -the name in brackets (e.g., d2_xyz[2] or i2_mySpin[3]). +which are the "name" portion of these attributes. For arrays +*i2_name* and *d2_name*, the column of the array must also be included +following the name in brackets (e.g., d2_xyz[2] or i2_mySpin[3]). The additional quantities only accessible via this command, and not directly via the :doc:`dump custom ` command, are as follows. diff --git a/doc/src/compute_property_grid.rst b/doc/src/compute_property_grid.rst index 20a4f19605..dfdce220c6 100644 --- a/doc/src/compute_property_grid.rst +++ b/doc/src/compute_property_grid.rst @@ -61,7 +61,7 @@ varying fastest, then Y, then Z slowest. For 2d grids (in 2d simulations), the grid IDs range from 1 to Nx*Ny, with X varying fastest and Y slowest. -.. versionadded:: TBD +.. versionadded:: 21Nov2023 The *proc* attribute is the ID of the processor which owns the grid cell. Processor IDs range from 0 to Nprocs - 1, where Nprocs is the diff --git a/doc/src/compute_reduce.rst b/doc/src/compute_reduce.rst index 6820d2ee04..604b1c1571 100644 --- a/doc/src/compute_reduce.rst +++ b/doc/src/compute_reduce.rst @@ -201,7 +201,7 @@ 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. -.. versionadded:: TBD +.. versionadded:: 21Nov2023 The *inputs* keyword allows selection of whether all the inputs are per-atom or local quantities. As noted above, all the inputs must be diff --git a/doc/src/compute_voronoi_atom.rst b/doc/src/compute_voronoi_atom.rst index 37e5386341..3bada09518 100644 --- a/doc/src/compute_voronoi_atom.rst +++ b/doc/src/compute_voronoi_atom.rst @@ -190,7 +190,7 @@ Voro++ software in the src/VORONOI/README file. Output info """"""""""" -.. deprecated:: TBD +.. deprecated:: 21Nov2023 The *peratom* keyword was removed as it is no longer required. @@ -232,4 +232,4 @@ Related commands Default """"""" -The default for the neighobrs keyword is no. +The default for the neighbors keyword is no. diff --git a/doc/src/dump.rst b/doc/src/dump.rst index e5885dc25d..2d1598e493 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -613,7 +613,7 @@ when running on large numbers of processors. Note that using the "\*" and "%" characters together can produce a large number of small dump files! -.. deprecated:: TBD +.. deprecated:: 21Nov2023 The MPIIO package and the the corresponding "/mpiio" dump styles, except for the unrelated "netcdf/mpiio" style were removed from LAMMPS. @@ -805,16 +805,16 @@ 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 *i_name*, *d_name*, *i2_name*, *d2_name* attributes refer to -per-atom integer and floating-point vectors or arrays that have been -added via the :doc:`fix property/atom ` command. -When that command is used specific names are given to each attribute -which are the "name" portion of these keywords. For arrays *i2_name* -and *d2_name*, the column of the array must also be included following -the name in brackets (e.g., d2_xyz[i], i2_mySpin[i], where :math:`i` is -in the range from 1 to :math:`M`, where :math:`M` is the number of -columns in the custom array). See the discussion above for how :math:`i` -can be specified with a wildcard asterisk to effectively specify -multiple values. +custom per-atom integer and floating-point vectors or arrays that have +been added via the :doc:`fix property/atom ` +command. When that command is used specific names are given to each +attribute which are the "name" portion of these keywords. For arrays +*i2_name* and *d2_name*, the column of the array must also be included +following the name in brackets (e.g., d2_xyz[i], i2_mySpin[i], where +:math:`i` is in the range from 1 to :math:`M`, where :math:`M` is the +number of columns in the custom array). See the discussion above for +how :math:`i` can be specified with a wildcard asterisk to effectively +specify multiple values. See the :doc:`Modify ` page for information on how to add new compute and fix styles to LAMMPS to calculate per-atom quantities diff --git a/doc/src/dump_image.rst b/doc/src/dump_image.rst index 4e227d2f72..3102caaa97 100644 --- a/doc/src/dump_image.rst +++ b/doc/src/dump_image.rst @@ -599,7 +599,7 @@ 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. -.. versionadded:: TBD +.. versionadded:: 21Nov2023 The *fsaa* keyword can be used with the dump image command to improve the image quality by enabling full scene anti-aliasing. Internally the diff --git a/doc/src/fix.rst b/doc/src/fix.rst index 3dd7e224e7..0889fe281f 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -106,7 +106,7 @@ Global, per-atom, local, and per-grid quantities can also be of three for each atom, each local entity, or each grid cell. Note that a single fix can produce any combination of global, -per-atom, local, or per-grid values. Likewise it can prouduce any +per-atom, local, or per-grid values. Likewise it can produce any combination of scalar, vector, or array output for each style. The exception is that for per-atom, local, and per-grid output, either a vector or array can be produced, but not both. The doc page for each diff --git a/doc/src/fix_adapt_fep.rst b/doc/src/fix_adapt_fep.rst index c35986de49..1b2298cd96 100644 --- a/doc/src/fix_adapt_fep.rst +++ b/doc/src/fix_adapt_fep.rst @@ -307,7 +307,9 @@ the :doc:`run ` command. This fix is not invoked during Restrictions """""""""""" - none + +The keyword "scale yes" is not supported for scaling per-atom parameters +diameter and change. You can use :doc:`fix adapt ` for those. Related commands """""""""""""""" diff --git a/doc/src/fix_atom_swap.rst b/doc/src/fix_atom_swap.rst index ffd14ebb0f..aa8127561c 100644 --- a/doc/src/fix_atom_swap.rst +++ b/doc/src/fix_atom_swap.rst @@ -181,6 +181,12 @@ 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. +This fix cannot be used with systems that do not have per-type masses +(e.g. atom style sphere) since the implemented algorithm pre-computes +velocity rescaling factors from per-type masses and ignores any per-atom +masses, if present. In case both, per-type and per-atom masses are +present, a warning is printed. + Related commands """""""""""""""" diff --git a/doc/src/fix_ave_chunk.rst b/doc/src/fix_ave_chunk.rst index 3c358c9aa5..adbfb43d72 100644 --- a/doc/src/fix_ave_chunk.rst +++ b/doc/src/fix_ave_chunk.rst @@ -541,10 +541,10 @@ Restrictions Related commands """""""""""""""" -:doc:`compute `, :doc:`fix ave/atom `, `fix -:doc:ave/histo `, :doc:`fix ave/time `, -:doc:`variable `, :doc:`fix ave/correlate -:doc:`, `fix ave/atogrid ` +:doc:`compute `, :doc:`fix ave/atom `, +:doc:`fix ave/histo `, :doc:`fix ave/time `, +:doc:`variable `, :doc:`fix ave/correlate `, +:doc:`fix ave/grid ` Default diff --git a/doc/src/fix_ave_histo.rst b/doc/src/fix_ave_histo.rst index 31e5476f9e..9699e4238c 100644 --- a/doc/src/fix_ave_histo.rst +++ b/doc/src/fix_ave_histo.rst @@ -106,7 +106,7 @@ attributes are per-atom vector values. See the page for individual generate. Note that a compute or fix can produce multiple kinds of data (global, -per-atom, local). If LAMMPS cannot unambiguosly determine which kind +per-atom, local). If LAMMPS cannot unambiguously determine which kind of data to use, the optional *kind* keyword discussed below can force the desired disambiguation. @@ -263,7 +263,7 @@ 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 used if any of the specfied input +The *kind* keyword only needs to be used if any of the specified input computes or fixes produce more than one kind of output (global, per-atom, local). If not, LAMMPS will determine the kind of data all the inputs produce and verify it is all the same kind. If not, an diff --git a/doc/src/fix_deposit.rst b/doc/src/fix_deposit.rst index 7d2d28bfa9..5264999839 100644 --- a/doc/src/fix_deposit.rst +++ b/doc/src/fix_deposit.rst @@ -17,12 +17,16 @@ Syntax * M = insert a single atom or molecule every M steps * 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 *target* or *mol* or *molfrac* or *rigid* or *shake* or *orient* or *units* +* keyword = *region* or *var* or *set* or *id* or *global* or *local* or *near* or *gaussian* or *attempt* or *rate* or *vx* or *vy* or *vz* or *target* or *mol* or *molfrac* or *rigid* or *shake* or *orient* or *units* .. parsed-literal:: *region* value = region-ID region-ID = ID of region to use as insertion volume + *var* value = name = variable name to evaluate for test of atom creation + *set* values = dim name + dim = *x* or *y* or *z* + name = name of variable to set with x, y, or z atom position *id* value = *max* or *next* max = atom ID for new atom(s) is max ID of all current atoms plus one next = atom ID for new atom(s) increments by one for every deposition @@ -193,17 +197,19 @@ simulation that is "nearby" the chosen x,y position. In this context, particles is less than the *delta* setting. Once a trial x,y,z position has been selected, the insertion is only -performed if no current atom in the simulation is within a distance R -of any atom in the new particle, including the effect of periodic -boundary conditions if applicable. R is defined by the *near* -keyword. Note that the default value for R is 0.0, which will allow -atoms to strongly overlap if you are inserting where other atoms are -present. This distance test is performed independently for each atom -in an inserted molecule, based on the randomly rotated configuration -of the molecule. If this test fails, a new random position within the -insertion volume is chosen and another trial is made. Up to Q -attempts are made. If the particle is not successfully inserted, -LAMMPS prints a warning message. +performed if both the *near* and *var* keywords are satisfied (see below). +If either the *near* or the *var* keyword is not satisfied, a new random +position within the insertion volume is chosen and another trial is made. +Up to Q attempts are made. If one or more particle insertions are not +successful, LAMMPS prints a warning message. + +The *near* keyword ensures that no current atom in the simulation is within +a distance R of any atom in the new particle, including the effect of +periodic boundary conditions if applicable. Note that the default value +for R is 0.0, which will allow atoms to strongly overlap if you are +inserting where other atoms are present. This distance test is performed +independently for each atom in an inserted molecule, based on the randomly +rotated configuration of the molecule. .. note:: @@ -214,6 +220,26 @@ LAMMPS prints a warning message. existing particle. LAMMPS will issue a warning if R is smaller than this value, based on the radii of existing and inserted particles. +.. versionadded:: 21Nov2023 + +The *var* and *set* keywords can be used together to provide a criterion +for accepting or rejecting the addition of an individual atom, based on its +coordinates. The *name* specified for the *var* keyword is the name of an +:doc:`equal-style variable ` that should evaluate to a zero or +non-zero value based on one or two or three variables that will store the +*x*, *y*, or *z* coordinates of an atom (one variable per coordinate). If +used, these other variables must be :doc:`internal-style variables +` defined in the input script; their initial numeric value can be +anything. They must be internal-style variables, because this command +resets their values directly. The *set* keyword is used to identify the +names of these other variables, one variable for the *x*-coordinate of a +created atom, one for *y*, and one for *z*. When an atom is created, its +:math:`(x,y,z)` coordinates become the values for any *set* variable that +is defined. The *var* variable is then evaluated. If the returned value +is 0.0, the atom is not created. If it is non-zero, the atom is created. +For an example of how to use these keywords, see the +:doc:`create_atoms ` command. + The *rate* option moves the insertion volume in the z direction (3d) or y direction (2d). This enables particles to be inserted from a successively higher height over time. Note that this parameter is @@ -289,10 +315,11 @@ operation of the fix continues in an uninterrupted fashion. The fix will try to detect it and stop with an error. 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 `. +fix. This fix computes a global scalar, which can be accessed by various +output commands. The scalar is the cumulative number of insertions. The +scalar value calculated by this fix is "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 """""""""""" diff --git a/doc/src/fix_pimd.rst b/doc/src/fix_pimd.rst index 5b51b97c52..a2e137da25 100644 --- a/doc/src/fix_pimd.rst +++ b/doc/src/fix_pimd.rst @@ -31,7 +31,7 @@ Syntax .. parsed-literal:: *keywords* = *method* or *integrator* or *ensemble* or *fmmode* or *fmass* or *scale* or *temp* or *thermostat* or *tau* or *iso* or *aniso* or *barostat* or *taup* or *fixcom* or *lj* - *method* value = *nmpimd* + *method* value = *nmpimd* (default) or *pimd* *integrator* value = *obabo* or *baoab* *fmmode* value = *physical* or *normal* *fmass* value = scaling factor on mass @@ -137,8 +137,6 @@ normal-mode PIMD. A value of *cmd* is for centroid molecular dynamics the real particle. .. note:: - Fix pimd/langevin only supports *method* value *nmpimd*. This should be enough - for most PIMD applications for quantum thermodynamics purpose. Motion of the centroid can be effectively uncoupled from the other normal modes by scaling the fictitious masses to achieve a partial @@ -151,6 +149,16 @@ normal-mode PIMD. A value of *cmd* is for centroid molecular dynamics only the k > 0 modes are thermostatted, not the centroid degrees of freedom. +.. versionadded:: 21Nov2023 + + Mode *pimd* added to fix pimd/langevin. + +Fix pimd/langevin supports the *method* values *nmpimd* and *pimd*. The default value is *nmpimd*. +If *method* is *nmpimd*, the normal mode representation is used to integrate the equations of motion. +The exact solution of harmonic oscillator is used to propagate the free ring polymer part of the Hamiltonian. +If *method* is *pimd*, the Cartesian representation is used to integrate the equations of motion. +The harmonic force is added to the total force of the system, and the numerical integrator is used to propagate the Hamiltonian. + The keyword *integrator* specifies the Trotter splitting method used by *fix pimd/langevin*. See :ref:`(Liu) ` for a discussion on the OBABO and BAOAB splitting schemes. Typically either of the two should work fine. @@ -207,6 +215,7 @@ The keyword *thermostat* reads *style* and *seed* of thermostat for fix style *p be *PILE_L* (path integral Langevin equation local thermostat, as described in :ref:`Ceriotti `), and *seed* should a positive integer number, which serves as the seed of the pseudo random number generator. .. note:: + The fix style *pimd/langevin* uses the stochastic PILE_L thermostat to control temperature. This thermostat works on the normal modes of the ring polymer. The *tau* parameter controls the centroid mode, and the *scale* parameter controls the non-centroid modes. @@ -269,6 +278,7 @@ related tasks for each of the partitions, e.g. read_restart system_${ibead}.restart2 .. note:: + Fix *pimd/langevin* dumps the Cartesian coordinates, but dumps the velocities and forces in the normal mode representation. If the Cartesian velocities and forces are needed, it is easy to perform the transformation when doing post-processing. diff --git a/doc/src/fix_pour.rst b/doc/src/fix_pour.rst index eca1f70c41..3b4bb5c723 100644 --- a/doc/src/fix_pour.rst +++ b/doc/src/fix_pour.rst @@ -245,8 +245,9 @@ produce the same behavior if you adjust the fix pour parameters appropriately. 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 +fix. This fix computes a global scalar, which can be accessed by various +output commands. The scalar is the cumulative number of insertions. The +scalar value calculated by this fix is "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 `. diff --git a/doc/src/fix_srd.rst b/doc/src/fix_srd.rst index 8bfbcf2387..dd080b0d3b 100644 --- a/doc/src/fix_srd.rst +++ b/doc/src/fix_srd.rst @@ -61,25 +61,30 @@ 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 :ref:`(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 :doc:`fix deform `, -:doc:`fix viscosity `, and :doc:`fix nvt/sllod `, -can be used in conjunction with the SRD model. +in :ref:`(Hecht) `. The same methodology is also called +multi-particle collision dynamics (MPCD) in the literature. -For more details on how the SRD model is implemented in LAMMPS, -:ref:`(Petersen) ` describes the implementation and usage of -pure SRD fluids. See the ``examples/srd`` directory for sample input -scripts using SRD particles for that and for mixture systems (solute -particles in an SRD fluid). +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 :doc:`fix deform `, :doc:`fix viscosity +`, and :doc:`fix nvt/sllod `, can be +used in conjunction with the SRD model. + +These 3 papers give more details on how the SRD model is implemented +in LAMMPS. :ref:`(Petersen) ` describes pure SRD fluid +systems. :ref:`(Bolintineanu1) ` describes models +where pure SRD fluids interact with boundary walls. +:ref:`(Bolintineanu2) ` describes mixture models where +large colloidal particles are solvated by an SRD fluid. See the +``examples/srd`` directory for sample input scripts. This fix does two things: @@ -404,3 +409,13 @@ no, and rescale = yes. **(Petersen)** Petersen, Lechman, Plimpton, Grest, in' t Veld, Schunk, J Chem Phys, 132, 174106 (2010). + +.. _Bolintineanu1: + +**(Bolintineanu1)** +Bolintineanu, Lechman, Plimpton, Grest, Phys Rev E, 86, 066703 (2012). + +.. _Bolintineanu2: + +**(Bolintineanu2)** Bolintineanu, Grest, Lechman, Pierce, Plimpton, +Schunk, Comp Particle Mechanics, 1, 321-356 (2014). diff --git a/doc/src/improper_amoeba.rst b/doc/src/improper_amoeba.rst index 18c7f11080..1a93b0d32a 100644 --- a/doc/src/improper_amoeba.rst +++ b/doc/src/improper_amoeba.rst @@ -68,8 +68,8 @@ for more info. Related commands """""""""""""""" -:doc:`improper_coeff `, `improper_harmonic -:doc:` +:doc:`improper_coeff `, +:doc:`improper_harmonic ` Default """"""" diff --git a/doc/src/pair_body_rounded_polyhedron.rst b/doc/src/pair_body_rounded_polyhedron.rst index f2f7c1676a..b3eaf72321 100644 --- a/doc/src/pair_body_rounded_polyhedron.rst +++ b/doc/src/pair_body_rounded_polyhedron.rst @@ -40,7 +40,7 @@ rounded/polyhedron particles. This pairwise interaction between the rounded polyhedra is described in :ref:`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 +centered on each vertex with a specified diameter. The edges of 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 :doc:`read data ` diff --git a/doc/src/pair_nb3b_harmonic.rst b/doc/src/pair_nb3b.rst similarity index 79% rename from doc/src/pair_nb3b_harmonic.rst rename to doc/src/pair_nb3b.rst index 203c707ec0..f4e254b40c 100644 --- a/doc/src/pair_nb3b_harmonic.rst +++ b/doc/src/pair_nb3b.rst @@ -1,14 +1,20 @@ .. index:: pair_style nb3b/harmonic +.. index:: pair_style nb3b/screened pair_style nb3b/harmonic command ================================ +pair_style nb3b/screened command +================================ + Syntax """""" .. code-block:: LAMMPS - pair_style nb3b/harmonic + pair_style style + +* style = *nb3b/harmonic* or *nb3b/screened* Examples """""""" @@ -18,10 +24,14 @@ Examples pair_style nb3b/harmonic pair_coeff * * MgOH.nb3bharmonic Mg O H + pair_style nb3b/screened + pair_coeff * * PO.nb3b.screened P NULL O + pair_coeff * * SiOH.nb3b.screened Si O H + Description """"""""""" -This pair style computes a non-bonded 3-body harmonic potential for the +The pair style *nb3b/harmonic* computes a non-bonded 3-body harmonic potential for the energy E of a system of atoms as .. math:: @@ -33,7 +43,17 @@ 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 +Style *nb3b/screened* adds an additional exponentially decaying factor to +the harmonic term, given by + +.. math:: + + E = K (\theta - \theta_0)^2 \exp \left(- \frac{r_{ij}}{\rho_{ij}} - \frac{r_{ik}}{\rho_{ik}} \right) + +where :math:`\rho_ij` and :math:`\rho_ik` are the screening factors along +the two bonds. Note that the usual 1/2 factor is included in *K*. + +Only a single pair_coeff command is used with these styles 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 @@ -61,8 +81,8 @@ 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: +other potentials. Two examples of pair_coeff command for use with the +*hybrid* pair style are: .. code-block:: LAMMPS diff --git a/doc/src/pair_reaxff.rst b/doc/src/pair_reaxff.rst index 067eb3afc3..d28e15b0a2 100644 --- a/doc/src/pair_reaxff.rst +++ b/doc/src/pair_reaxff.rst @@ -72,8 +72,7 @@ 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. +documented in potentials/README.reax. The format of these files is identical to that used originally by van Duin. We have tested the accuracy of *pair_style reaxff* potential @@ -110,12 +109,14 @@ control variable. The format of the control file is described below. not agree. Examples using *pair_style reaxff* are provided in the examples/reax -subdirectory. +directory and its subdirectories. -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 -charges. +Use of this pair style requires using an :doc:`atom_style ` +that includes a per-atom charge property *or* using +:doc:`fix property/atom q `. Charges can be set +via :doc:`read_data ` or :doc:`set `. Using an initial +charge that is close to the result of charge equilibration will speed +up that process. The ReaxFF parameter files provided were created using a charge equilibration (QEq) model for handling the electrostatic interactions. diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index 494a26aacf..a2467bff2b 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -297,7 +297,8 @@ accelerated styles exist. * :doc:`morse/soft ` - Morse potential with a soft core * :doc:`multi/lucy ` - DPD potential with density-dependent force * :doc:`multi/lucy/rx ` - reactive DPD potential with density-dependent force -* :doc:`nb3b/harmonic ` - non-bonded 3-body harmonic potential +* :doc:`nb3b/harmonic ` - non-bonded 3-body harmonic potential +* :doc:`nb3b/screened ` - non-bonded 3-body screened 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 Coulomb diff --git a/doc/src/region.rst b/doc/src/region.rst index 36c7c799dc..9d2af01de1 100644 --- a/doc/src/region.rst +++ b/doc/src/region.rst @@ -24,6 +24,7 @@ Syntax 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) + c1,c2,radlo,radhi,lo,hi can be a variable (see below) *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) @@ -206,7 +207,8 @@ equal-style :doc:`variable `. Likewise, for style *sphere* and *ellipsoid* the x-, y-, and z- coordinates of the center of the sphere/ellipsoid can be specified as an equal-style variable. And for style *cylinder* the two center positions c1 and c2 for the location -of the cylinder axes can be specified as a equal-style variable. +of the cylinder axes can be specified as a equal-style variable. For style *cone* +all properties can be defined via equal-style variables. 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 diff --git a/doc/src/thermo_style.rst b/doc/src/thermo_style.rst index c3c607a479..89a2c0b740 100644 --- a/doc/src/thermo_style.rst +++ b/doc/src/thermo_style.rst @@ -442,7 +442,7 @@ 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 equal-style variable can use an atom-style variable in its formula indexed by the ID of an -individual atom. This is a way to output a speciic atom's per-atom +individual atom. This is a way to output a specific atom's per-atom coordinates or other per-atom properties in thermo output. See the :doc:`variable ` command for details. Note that variables of style *equal* and *vector* and *atom* define a formula which can diff --git a/doc/src/variable.rst b/doc/src/variable.rst index f1a316da1f..a70ac25836 100644 --- a/doc/src/variable.rst +++ b/doc/src/variable.rst @@ -53,7 +53,7 @@ Syntax 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) + random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x), ternary(x,y,z), 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) @@ -71,6 +71,7 @@ Syntax feature functions = is_available(category,feature), is_active(category,feature), is_defined(category,id) 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, radius, q, x, y, z, vx, vy, vz, fx, fy, fz + custom atom property = i_name, d_name, i_name[i], d_name[i], i2_name[i], d2_name[i], i2_name[i][j], d_name[i][j] 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] @@ -514,38 +515,40 @@ is a valid (though strange) variable formula: Specifically, a formula can contain numbers, constants, thermo keywords, math operators, math functions, group functions, region functions, special functions, feature functions, atom values, atom -vectors, compute references, fix references, and references to other +vectors, custom atom properties, 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), is_file(name), is_os(name), extract_setting(name), label2type(kind,label), is_typelabel(kind,label) | -+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Feature functions | is_available(category,feature), is_active(category,feature), is_defined(category,id) | -+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| 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] | -+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ++------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 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), ternary(x,y,z), 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), is_file(name), is_os(name), extract_setting(name), label2type(kind,label), is_typelabel(kind,label) | ++------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Feature functions | is_available(category,feature), is_active(category,feature), is_defined(category,id) | ++------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 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 | ++------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Custom atom properties | i_name, d_name, i_name[i], d_name[i], i2_name[i], d2_name[i], i2_name[i][j], d_name[i][j] | ++------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| 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] | ++------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Most of the formula elements produce a scalar value. Some produce a global or per-atom vector of values. Global vectors can be produced @@ -703,6 +706,13 @@ 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. +.. versionadded:: TBD + +The ternary(x,y,z) function is the equivalent of the ternary operator +(? and :) in C or C++. It takes 3 arguments. The first argument is a +conditional. The result of the function is y if x evaluates to true +(non-zero). The result is z if x evaluates to false (zero). + 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: @@ -1034,10 +1044,9 @@ to built-in commands. For all of these styles except *command*, appending of active suffixes is also tried before reporting failure. The *feature* category checks the availability of the following -compile-time enabled features: GZIP support, PNG support, JPEG -support, FFMPEG support, and C++ exceptions for error -handling. Corresponding names are *gzip*, *png*, *jpeg*, *ffmpeg* and -*exceptions*\ . +compile-time enabled features: GZIP support, PNG support, JPEG support, +FFMPEG support, and C++ exceptions for error handling. Corresponding +names are *gzip*, *png*, *jpeg*, *ffmpeg* and *exceptions*\ . Example: Only dump in a given format if the compiled binary supports it. @@ -1139,8 +1148,45 @@ 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. +` command and then referencing that compute. + +---------- + +Custom atom properties +---------------------- + +.. versionadded:: TBD + +Custom atom properties refer to per-atom integer and floating point +vectors or arrays that have been added via the :doc:`fix property/atom +` command. When that command is used specific +names are given to each attribute which are the "name" portion of +these references. References beginning with *i* and *d* refer to +integer and floating point properties respectively. Per-atom vectors +are referenced by *i_name* and *d_name*; per-atom arrays are +referenced by *i2_name* and *d2_name*. + +The various allowed references to integer custom atom properties in +the variable formulas for equal-, vector-, and atom-style variables +are listed in the following table. References to floating point +custom atom properties are the same; just replace the leading "i" with +"d". + ++--------+---------------+------------------------------------------+ +| equal | i_name[I] | element of per-atom vector (I = atom ID) | +| equal | i2_name[I][J] | element of per-atom array (I = atom ID) | ++--------+---------------+------------------------------------------+ +| vector | i_name[I] | element of per-atom vector (I = atom ID) | +| vector | i2_name[I][J] | element of per-atom array (I = atom ID) | ++--------+---------------+------------------------------------------+ +| atom | i_name | per-atom vector | +| atom | i2_name[I] | column of per-atom array | ++--------+---------------+------------------------------------------+ + +The I and J indices in these custom atom property references can be +integers or can be 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 indices in the "Atom Values and Vectors" discussion above. ---------- @@ -1167,7 +1213,7 @@ variables), or global vectors of values. The latter can also be a column of a global array. Atom-style variables can use scalar values (same as for equal-style -varaibles), or per-atom vectors of values. The latter can also be a +variables), or per-atom vectors of values. The latter can also be a column of a per-atom array. The various allowed compute references in the variable formulas for @@ -1183,7 +1229,7 @@ table: +--------+------------+------------------------------------------+ | vector | c_ID | global vector | | vector | c_ID[I] | column of global array | ----------+------------+------------------------------------------+ ++--------+------------+------------------------------------------+ | atom | c_ID | per-atom vector | | atom | c_ID[I] | column of per-atom array | +--------+------------+------------------------------------------+ @@ -1232,7 +1278,7 @@ variables), or global vectors of values. The latter can also be a column of a global array. Atom-style variables can use scalar values (same as for equal-style -varaibles), or per-atom vectors of values. The latter can also be a +variables), or per-atom vectors of values. The latter can also be a column of a per-atom array. The allowed fix references in variable formulas for equal-, vector-, @@ -1247,7 +1293,7 @@ and atom-style variables are listed in the following table: +--------+------------+------------------------------------------+ | vector | f_ID | global vector | | vector | f_ID[I] | column of global array | ----------+------------+------------------------------------------+ ++--------+------------+------------------------------------------+ | atom | f_ID | per-atom vector | | atom | f_ID[I] | column of per-atom array | +--------+------------+------------------------------------------+ diff --git a/doc/utils/sphinx-config/LAMMPSLexer.py b/doc/utils/sphinx-config/LAMMPSLexer.py index a7ba5d92a8..ee548dc602 100644 --- a/doc/utils/sphinx-config/LAMMPSLexer.py +++ b/doc/utils/sphinx-config/LAMMPSLexer.py @@ -76,12 +76,12 @@ class LAMMPSLexer(RegexLexer): include('conditionals'), include('keywords'), (r'#.*?\n', Comment), - ('"', String, 'string'), - ('\'', String, 'single_quote_string'), + (r'"', String, 'string'), + (r'\'', String, 'single_quote_string'), (r'[0-9]+:[0-9]+(:[0-9]+)?', Number), (r'[0-9]+(\.[0-9]+)?([eE]\-?[0-9]+)?', Number), - ('\$?\(', Name.Variable, 'expression'), - ('\$\{', Name.Variable, 'variable'), + (r'\$?\(', Name.Variable, 'expression'), + (r'\$\{', Name.Variable, 'variable'), (r'[\w_\.\[\]]+', Name), (r'\$[\w_]+', Name.Variable), (r'\s+', Whitespace), @@ -97,21 +97,21 @@ class LAMMPSLexer(RegexLexer): ] , 'variable' : [ - ('[^\}]+', Name.Variable), - ('\}', Name.Variable, '#pop'), + (r'[^\}]+', Name.Variable), + (r'\}', Name.Variable, '#pop'), ], 'string' : [ - ('[^"]+', String), - ('"', String, '#pop'), + (r'[^"]+', String), + (r'"', String, '#pop'), ], 'single_quote_string' : [ - ('[^\']+', String), - ('\'', String, '#pop'), + (r'[^\']+', String), + (r'\'', String, '#pop'), ], 'expression' : [ - ('[^\(\)]+', Name.Variable), - ('\(', Name.Variable, 'expression'), - ('\)', Name.Variable, '#pop'), + (r'[^\(\)]+', Name.Variable), + (r'\(', Name.Variable, 'expression'), + (r'\)', Name.Variable, '#pop'), ], 'modify_cmd' : [ (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), diff --git a/examples/PACKAGES/pimd/langevin_metal_units/in.langevin.metal b/examples/PACKAGES/pimd/langevin_metal_units/in.langevin.metal new file mode 100644 index 0000000000..071b4ad722 --- /dev/null +++ b/examples/PACKAGES/pimd/langevin_metal_units/in.langevin.metal @@ -0,0 +1,28 @@ +variable ibead uloop 99 pad + +units metal +atom_style atomic +atom_modify map yes +boundary p p p +pair_style lj/cut 9.5251 +read_data data.metalnpt${ibead} + +pair_coeff * * 0.00965188 3.4 +pair_modify shift yes + +mass 1 39.948 + +timestep 0.001 + +velocity all create 0.0 ${ibead} + +fix 1 all pimd/langevin method nmpimd ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no + +thermo_style custom step temp f_1[*] vol press +thermo 100 +thermo_modify norm no + +# dump dcd all custom 100 ${ibead}.dcd id type xu yu zu vx vy vz ix iy iz fx fy fz +# dump_modify dcd sort id format line "%d %d %.16f %.16f %.16f %.16f %.16f %.16f %d %d %d %.16f %.16f %.16f" + +run 1000 diff --git a/examples/PACKAGES/pimd/langevin_metal_units/in.lmp b/examples/PACKAGES/pimd/langevin_metal_units/in.pimd-langevin.metal similarity index 80% rename from examples/PACKAGES/pimd/langevin_metal_units/in.lmp rename to examples/PACKAGES/pimd/langevin_metal_units/in.pimd-langevin.metal index 124063df99..4d1416063c 100644 --- a/examples/PACKAGES/pimd/langevin_metal_units/in.lmp +++ b/examples/PACKAGES/pimd/langevin_metal_units/in.pimd-langevin.metal @@ -16,7 +16,7 @@ timestep 0.001 velocity all create 0.0 ${ibead} -fix 1 all pimd/langevin ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no +fix 1 all pimd/langevin method pimd ensemble nvt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 taup 1.0 fixcom no thermo_style custom step temp f_1[*] vol press thermo 100 diff --git a/examples/PACKAGES/pimd/langevin_metal_units/log.14Jun23.langevin.metal.g++ b/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.langevin.metal.g++ similarity index 64% rename from examples/PACKAGES/pimd/langevin_metal_units/log.14Jun23.langevin.metal.g++ rename to examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.langevin.metal.g++ index fa22106766..a05d2d9aa8 100644 --- a/examples/PACKAGES/pimd/langevin_metal_units/log.14Jun23.langevin.metal.g++ +++ b/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.langevin.metal.g++ @@ -1,2 +1,2 @@ -LAMMPS (28 Mar 2023) +LAMMPS (3 Aug 2023) Running on 4 partitions of processors diff --git a/examples/PACKAGES/pimd/langevin_metal_units/log.14Jun23.langevin.metal.g++.0 b/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.langevin.metal.g++.0 similarity index 70% rename from examples/PACKAGES/pimd/langevin_metal_units/log.14Jun23.langevin.metal.g++.0 rename to examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.langevin.metal.g++.0 index 00787df8ba..c34bf8e7dd 100644 --- a/examples/PACKAGES/pimd/langevin_metal_units/log.14Jun23.langevin.metal.g++.0 +++ b/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.langevin.metal.g++.0 @@ -1,5 +1,6 @@ -LAMMPS (28 Mar 2023) +LAMMPS (3 Aug 2023) Processor partition = 0 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task variable ibead uloop 99 pad @@ -29,10 +30,10 @@ timestep 0.001 velocity all create 0.0 ${ibead} velocity all create 0.0 01 -fix 1 all pimd/langevin ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no +fix 1 all pimd/langevin method nmpimd ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no Initializing PIMD BZP barostat... -The barostat mass is W = 2.3401256650800001e+01 + The barostat mass is W = 2.3401256650800001e+01 thermo_style custom step temp f_1[*] vol press thermo 100 @@ -43,14 +44,13 @@ thermo_modify norm no run 1000 Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule - Initializing PI Langevin equation thermostat... -Bead ID | omega | tau | c1 | c2 - 0 0.00000000e+00 1.00000000e+00 9.99500125e-01 3.16148726e-02 - 1 8.37986825e+01 5.96668092e-03 9.19616372e-01 3.92817678e-01 - 2 1.18509233e+02 4.21908054e-03 8.88243614e-01 4.59372705e-01 - 3 8.37986825e+01 5.96668092e-03 9.19616372e-01 3.92817678e-01 -PILE_L thermostat successfully initialized! + Bead ID | omega | tau | c1 | c2 + 0 0.00000000e+00 1.00000000e+00 9.99500125e-01 3.16148726e-02 + 1 8.37986825e+01 5.96668092e-03 9.19616372e-01 3.92817678e-01 + 2 1.18509233e+02 4.21908054e-03 8.88243614e-01 4.59372705e-01 + 3 8.37986825e+01 5.96668092e-03 9.19616372e-01 3.92817678e-01 + PILE_L thermostat successfully initialized! Neighbor list info ... update: every = 1 steps, delay = 0 steps, check = yes @@ -66,31 +66,31 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 3.121 | 3.121 | 3.121 Mbytes Step Temp f_1[1] f_1[2] f_1[3] f_1[4] f_1[5] f_1[6] f_1[7] f_1[8] f_1[9] f_1[10] f_1[11] f_1[12] f_1[13] f_1[14] f_1[15] Volume Press - 0 0 0 0 -7.3046601 4.3005229 -21.877018 -8.7249482 2.9571502 -1743.5332 -698.49808 -172.07477 0 0 0.033460054 -0.37064378 4.216227 13402.228 -164.47373 - 100 149.95804 3.8573359 0 -7.7921375 42.886648 -23.396327 -1.980193 2.954003 -1888.0547 -1648.7118 -332.0298 -0.099139345 0.11500091 0.033044702 -0.3701566 42.83112 13235.861 -101.30374 - 200 245.00113 6.3021074 0 -8.2639651 41.690123 -22.521598 -4.273021 2.9600599 -1906.2904 -1609.02 -265.94404 -0.20527926 0.49305948 0.031504957 -0.36829556 41.729191 12619.125 112.22426 - 300 300.57486 7.7316177 0 -8.2986331 43.180131 -21.755813 -7.7032433 2.9714114 -1968.7685 290.49656 251.72564 -0.21935745 0.56300721 0.029467915 -0.36568855 43.236828 11803.2 814.45889 - 400 368.08438 9.4681493 0 -8.4800193 49.109699 -24.824142 2.9744597 2.9794185 -2335.993 1368.7398 570.03286 -0.028366234 0.0094148316 0.028338146 -0.36416383 49.028096 11350.678 1202.0398 - 500 419.32066 10.786088 0 -8.640773 45.427771 -22.825143 16.22356 2.9684828 -2113.91 -272.84753 185.53392 0.091614289 0.098205455 0.028793585 -0.36478567 45.368325 11533.101 952.59748 - 600 385.4127 9.9138817 0 -8.4356035 47.783726 -22.456104 6.837575 2.967236 -2023.8117 -918.27943 -2.4106994 0.093360761 0.10198539 0.029589188 -0.36584873 47.725157 11851.775 676.62913 - 700 360.14242 9.2638601 0 -8.2900275 42.626187 -20.571698 -5.7252564 2.9560528 -1806.9448 -1418.2247 -148.41657 0.075011202 0.065835696 0.030359455 -0.36685105 42.558523 12160.301 456.91446 - 800 346.92167 8.923786 0 -8.0694169 45.160336 -21.885719 -6.7745694 2.9575472 -1894.3641 -1329.3179 -136.42193 0.011114896 0.0014455064 0.030808183 -0.3674233 45.076543 12340.037 454.60123 - 900 364.39442 9.3732334 0 -8.0415668 45.604542 -21.816625 5.586068 2.9578604 -1890.4653 -1271.1107 -111.89061 -0.020285587 0.0048148677 0.030774258 -0.36738033 45.521594 12326.448 499.75868 - 1000 390.77042 10.051697 0 -8.1948009 45.264242 -22.833545 6.9260573 2.960122 -2007.6188 -1179.7125 -70.907567 -0.062733519 0.046047757 0.030329191 -0.36681215 45.191633 12148.179 572.98799 -Loop time of 0.248186 on 1 procs for 1000 steps with 200 atoms + 0 0 0 0 -7.3046601 4.3005229 3.3062167 -8.7249482 2.9571502 -1743.5332 -698.49808 -172.07477 0 0 0.033460054 -0.37064378 4.216227 13402.228 -164.47373 + 100 149.95804 3.8573359 0 -7.7921375 42.886648 2.9263894 -1.980193 2.954003 -1888.0547 -1648.7118 -332.0298 -0.099139345 0.11500091 0.033044702 -0.3701566 42.83112 13235.861 -101.30374 + 200 245.00113 6.3021074 0 -8.2639651 41.690123 3.1450717 -4.273021 2.9600599 -1906.2904 -1609.02 -265.94404 -0.20527926 0.49305948 0.031504957 -0.36829556 41.729191 12619.125 112.22426 + 300 300.57486 7.7316177 0 -8.2986331 43.180131 3.336518 -7.7032433 2.9714114 -1968.7685 290.49656 251.72564 -0.21935745 0.56300721 0.029467915 -0.36568855 43.236828 11803.2 814.45889 + 400 368.08438 9.4681493 0 -8.4800193 49.109699 2.5694358 2.9744597 2.9794185 -2335.993 1368.7398 570.03286 -0.028366234 0.0094148316 0.028338146 -0.36416383 49.028096 11350.678 1202.0398 + 500 419.32066 10.786088 0 -8.640773 45.427771 3.0691855 16.22356 2.9684828 -2113.91 -272.84753 185.53392 0.091614289 0.098205455 0.028793585 -0.36478567 45.368325 11533.101 952.59748 + 600 385.4127 9.9138817 0 -8.4356035 47.783726 3.1614452 6.837575 2.967236 -2023.8117 -918.27943 -2.4106994 0.093360761 0.10198539 0.029589188 -0.36584873 47.725157 11851.775 676.62913 + 700 360.14242 9.2638601 0 -8.2900275 42.626187 3.6325468 -5.7252564 2.9560528 -1806.9448 -1418.2247 -148.41657 0.075011202 0.065835696 0.030359455 -0.36685105 42.558523 12160.301 456.91446 + 800 346.92167 8.923786 0 -8.0694169 45.160336 3.3040415 -6.7745694 2.9575472 -1894.3641 -1329.3179 -136.42193 0.011114896 0.0014455064 0.030808183 -0.3674233 45.076543 12340.037 454.60123 + 900 364.39442 9.3732334 0 -8.0415668 45.604542 3.321315 5.586068 2.9578604 -1890.4653 -1271.1107 -111.89061 -0.020285587 0.0048148677 0.030774258 -0.36738033 45.521594 12326.448 499.75868 + 1000 390.77042 10.051697 0 -8.1948009 45.264242 3.0670849 6.9260573 2.960122 -2007.6188 -1179.7125 -70.907567 -0.062733519 0.046047757 0.030329191 -0.36681215 45.191633 12148.179 572.98799 +Loop time of 0.218442 on 1 procs for 1000 steps with 200 atoms -Performance: 348.126 ns/day, 0.069 hours/ns, 4029.238 timesteps/s, 805.848 katom-step/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 395.527 ns/day, 0.061 hours/ns, 4577.865 timesteps/s, 915.573 katom-step/s +98.9% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.14541 | 0.14541 | 0.14541 | 0.0 | 58.59 -Neigh | 0.00099082 | 0.00099082 | 0.00099082 | 0.0 | 0.40 -Comm | 0.0039966 | 0.0039966 | 0.0039966 | 0.0 | 1.61 -Output | 0.00016346 | 0.00016346 | 0.00016346 | 0.0 | 0.07 -Modify | 0.096205 | 0.096205 | 0.096205 | 0.0 | 38.76 -Other | | 0.001425 | | | 0.57 +Pair | 0.11918 | 0.11918 | 0.11918 | 0.0 | 54.56 +Neigh | 0.0010314 | 0.0010314 | 0.0010314 | 0.0 | 0.47 +Comm | 0.0046197 | 0.0046197 | 0.0046197 | 0.0 | 2.11 +Output | 0.0001329 | 0.0001329 | 0.0001329 | 0.0 | 0.06 +Modify | 0.092616 | 0.092616 | 0.092616 | 0.0 | 42.40 +Other | | 0.0008616 | | | 0.39 Nlocal: 200 ave 200 max 200 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/PACKAGES/pimd/langevin_metal_units/log.14Jun23.langevin.metal.g++.1 b/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.langevin.metal.g++.1 similarity index 70% rename from examples/PACKAGES/pimd/langevin_metal_units/log.14Jun23.langevin.metal.g++.1 rename to examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.langevin.metal.g++.1 index 83821cafb7..58f4695d46 100644 --- a/examples/PACKAGES/pimd/langevin_metal_units/log.14Jun23.langevin.metal.g++.1 +++ b/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.langevin.metal.g++.1 @@ -1,5 +1,6 @@ -LAMMPS (28 Mar 2023) +LAMMPS (3 Aug 2023) Processor partition = 1 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task variable ibead uloop 99 pad @@ -17,7 +18,7 @@ Reading data file ... 200 atoms reading velocities ... 200 velocities - read_data CPU = 0.001 seconds + read_data CPU = 0.002 seconds pair_coeff * * 0.00965188 3.4 pair_modify shift yes @@ -29,10 +30,7 @@ timestep 0.001 velocity all create 0.0 ${ibead} velocity all create 0.0 02 -fix 1 all pimd/langevin ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no - -Initializing PIMD BZP barostat... -The barostat mass is W = 2.3401256650800001e+01 +fix 1 all pimd/langevin method nmpimd ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no thermo_style custom step temp f_1[*] vol press thermo 100 @@ -43,15 +41,6 @@ thermo_modify norm no run 1000 Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule - -Initializing PI Langevin equation thermostat... -Bead ID | omega | tau | c1 | c2 - 0 0.00000000e+00 1.00000000e+00 9.99500125e-01 3.16148726e-02 - 1 8.37986825e+01 5.96668092e-03 9.19616372e-01 3.92817678e-01 - 2 1.18509233e+02 4.21908054e-03 8.88243614e-01 4.59372705e-01 - 3 8.37986825e+01 5.96668092e-03 9.19616372e-01 3.92817678e-01 -PILE_L thermostat successfully initialized! - Neighbor list info ... update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 @@ -66,31 +55,31 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 3.121 | 3.121 | 3.121 Mbytes Step Temp f_1[1] f_1[2] f_1[3] f_1[4] f_1[5] f_1[6] f_1[7] f_1[8] f_1[9] f_1[10] f_1[11] f_1[12] f_1[13] f_1[14] f_1[15] Volume Press - 0 0 0 11.920908 -7.3063682 4.3005229 -21.877018 -8.7249482 2.9571502 -1743.5332 -698.49808 -172.07477 0 0 0.033460054 -0.37064378 4.216227 13402.228 -167.65544 - 100 483.61933 12.440028 11.405863 -7.7749671 42.886648 -23.396327 -1.980193 2.954003 -1888.0547 -1648.7118 -332.0298 -0.099139345 0.11500091 0.033044702 -0.3701566 42.83112 13235.861 606.14668 - 200 452.03836 11.627678 11.47094 -8.2534927 41.690123 -22.521598 -4.273021 2.9600599 -1906.2904 -1609.02 -265.94404 -0.20527926 0.49305948 0.031504957 -0.36829556 41.729191 12619.125 583.5476 - 300 470.25997 12.096389 11.739306 -8.3750153 43.180131 -21.755813 -7.7032433 2.9714114 -1968.7685 290.49656 251.72564 -0.21935745 0.56300721 0.029467915 -0.36568855 43.236828 11803.2 1152.6851 - 400 459.46597 11.818737 12.502421 -8.5240576 49.109699 -24.824142 2.9744597 2.9794185 -2335.993 1368.7398 570.03286 -0.028366234 0.0094148316 0.028338146 -0.36416383 49.028096 11350.678 1381.0251 - 500 442.73121 11.388273 11.19396 -8.6488583 45.427771 -22.825143 16.22356 2.9684828 -2113.91 -272.84753 185.53392 0.091614289 0.098205455 0.028793585 -0.36478567 45.368325 11533.101 1000.6119 - 600 493.47034 12.693424 11.91335 -8.4625706 47.783726 -22.456104 6.837575 2.967236 -2023.8117 -918.27943 -2.4106994 0.093360761 0.10198539 0.029589188 -0.36584873 47.725157 11851.775 904.52944 - 700 470.04548 12.090871 10.348757 -8.278182 42.626187 -20.571698 -5.7252564 2.9560528 -1806.9448 -1418.2247 -148.41657 0.075011202 0.065835696 0.030359455 -0.36685105 42.558523 12160.301 715.22796 - 800 458.04928 11.782296 11.152029 -8.0926613 45.160336 -21.885719 -6.7745694 2.9575472 -1894.3641 -1329.3179 -136.42193 0.011114896 0.0014455064 0.030808183 -0.3674233 45.076543 12340.037 678.21261 - 900 468.60547 12.05383 10.937315 -8.0319335 45.604542 -21.816625 5.586068 2.9578604 -1890.4653 -1271.1107 -111.89061 -0.020285587 0.0048148677 0.030774258 -0.36738033 45.521594 12326.448 735.24377 - 1000 427.44192 10.99499 11.916587 -8.2229199 45.264242 -22.833545 6.9260573 2.960122 -2007.6188 -1179.7125 -70.907567 -0.062733519 0.046047757 0.030329191 -0.36681215 45.191633 12148.179 637.98311 -Loop time of 0.248186 on 1 procs for 1000 steps with 200 atoms + 0 0 0 11.920908 -7.3063682 4.3005229 3.3062167 -8.7249482 2.9571502 -1743.5332 -698.49808 -172.07477 0 0 0.033460054 -0.37064378 4.216227 13402.228 -167.65544 + 100 483.61933 12.440028 11.405863 -7.7749671 42.886648 2.9263894 -1.980193 2.954003 -1888.0547 -1648.7118 -332.0298 -0.099139345 0.11500091 0.033044702 -0.3701566 42.83112 13235.861 606.14668 + 200 452.03836 11.627678 11.47094 -8.2534927 41.690123 3.1450717 -4.273021 2.9600599 -1906.2904 -1609.02 -265.94404 -0.20527926 0.49305948 0.031504957 -0.36829556 41.729191 12619.125 583.5476 + 300 470.25997 12.096389 11.739306 -8.3750153 43.180131 3.336518 -7.7032433 2.9714114 -1968.7685 290.49656 251.72564 -0.21935745 0.56300721 0.029467915 -0.36568855 43.236828 11803.2 1152.6851 + 400 459.46597 11.818737 12.502421 -8.5240576 49.109699 2.5694358 2.9744597 2.9794185 -2335.993 1368.7398 570.03286 -0.028366234 0.0094148316 0.028338146 -0.36416383 49.028096 11350.678 1381.0251 + 500 442.73121 11.388273 11.19396 -8.6488583 45.427771 3.0691855 16.22356 2.9684828 -2113.91 -272.84753 185.53392 0.091614289 0.098205455 0.028793585 -0.36478567 45.368325 11533.101 1000.6119 + 600 493.47034 12.693424 11.91335 -8.4625706 47.783726 3.1614452 6.837575 2.967236 -2023.8117 -918.27943 -2.4106994 0.093360761 0.10198539 0.029589188 -0.36584873 47.725157 11851.775 904.52944 + 700 470.04548 12.090871 10.348757 -8.278182 42.626187 3.6325468 -5.7252564 2.9560528 -1806.9448 -1418.2247 -148.41657 0.075011202 0.065835696 0.030359455 -0.36685105 42.558523 12160.301 715.22796 + 800 458.04928 11.782296 11.152029 -8.0926613 45.160336 3.3040415 -6.7745694 2.9575472 -1894.3641 -1329.3179 -136.42193 0.011114896 0.0014455064 0.030808183 -0.3674233 45.076543 12340.037 678.21261 + 900 468.60547 12.05383 10.937315 -8.0319335 45.604542 3.321315 5.586068 2.9578604 -1890.4653 -1271.1107 -111.89061 -0.020285587 0.0048148677 0.030774258 -0.36738033 45.521594 12326.448 735.24377 + 1000 427.44192 10.99499 11.916587 -8.2229199 45.264242 3.0670849 6.9260573 2.960122 -2007.6188 -1179.7125 -70.907567 -0.062733519 0.046047757 0.030329191 -0.36681215 45.191633 12148.179 637.98311 +Loop time of 0.218435 on 1 procs for 1000 steps with 200 atoms -Performance: 348.126 ns/day, 0.069 hours/ns, 4029.238 timesteps/s, 805.848 katom-step/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 395.541 ns/day, 0.061 hours/ns, 4578.021 timesteps/s, 915.604 katom-step/s +99.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.14654 | 0.14654 | 0.14654 | 0.0 | 59.04 -Neigh | 0.00099986 | 0.00099986 | 0.00099986 | 0.0 | 0.40 -Comm | 0.0041628 | 0.0041628 | 0.0041628 | 0.0 | 1.68 -Output | 0.00018019 | 0.00018019 | 0.00018019 | 0.0 | 0.07 -Modify | 0.094878 | 0.094878 | 0.094878 | 0.0 | 38.23 -Other | | 0.001424 | | | 0.57 +Pair | 0.11791 | 0.11791 | 0.11791 | 0.0 | 53.98 +Neigh | 0.0010247 | 0.0010247 | 0.0010247 | 0.0 | 0.47 +Comm | 0.0035577 | 0.0035577 | 0.0035577 | 0.0 | 1.63 +Output | 0.00011003 | 0.00011003 | 0.00011003 | 0.0 | 0.05 +Modify | 0.09496 | 0.09496 | 0.09496 | 0.0 | 43.47 +Other | | 0.0008711 | | | 0.40 Nlocal: 200 ave 200 max 200 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/PACKAGES/pimd/langevin_metal_units/log.14Jun23.langevin.metal.g++.2 b/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.langevin.metal.g++.2 similarity index 70% rename from examples/PACKAGES/pimd/langevin_metal_units/log.14Jun23.langevin.metal.g++.2 rename to examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.langevin.metal.g++.2 index fd8dd409ae..0b76ce5bbc 100644 --- a/examples/PACKAGES/pimd/langevin_metal_units/log.14Jun23.langevin.metal.g++.2 +++ b/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.langevin.metal.g++.2 @@ -1,5 +1,6 @@ -LAMMPS (28 Mar 2023) +LAMMPS (3 Aug 2023) Processor partition = 2 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task variable ibead uloop 99 pad @@ -17,7 +18,7 @@ Reading data file ... 200 atoms reading velocities ... 200 velocities - read_data CPU = 0.001 seconds + read_data CPU = 0.002 seconds pair_coeff * * 0.00965188 3.4 pair_modify shift yes @@ -29,10 +30,7 @@ timestep 0.001 velocity all create 0.0 ${ibead} velocity all create 0.0 03 -fix 1 all pimd/langevin ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no - -Initializing PIMD BZP barostat... -The barostat mass is W = 2.3401256650800001e+01 +fix 1 all pimd/langevin method nmpimd ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no thermo_style custom step temp f_1[*] vol press thermo 100 @@ -43,15 +41,6 @@ thermo_modify norm no run 1000 Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule - -Initializing PI Langevin equation thermostat... -Bead ID | omega | tau | c1 | c2 - 0 0.00000000e+00 1.00000000e+00 9.99500125e-01 3.16148726e-02 - 1 8.37986825e+01 5.96668092e-03 9.19616372e-01 3.92817678e-01 - 2 1.18509233e+02 4.21908054e-03 8.88243614e-01 4.59372705e-01 - 3 8.37986825e+01 5.96668092e-03 9.19616372e-01 3.92817678e-01 -PILE_L thermostat successfully initialized! - Neighbor list info ... update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 @@ -66,31 +55,31 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 3.121 | 3.121 | 3.121 Mbytes Step Temp f_1[1] f_1[2] f_1[3] f_1[4] f_1[5] f_1[6] f_1[7] f_1[8] f_1[9] f_1[10] f_1[11] f_1[12] f_1[13] f_1[14] f_1[15] Volume Press - 0 0 0 10.862314 -7.320388 4.3005229 -21.877018 -8.7249482 2.9571502 -1743.5332 -698.49808 -172.07477 0 0 0.033460054 -0.37064378 4.216227 13402.228 -175.34503 - 100 455.18121 11.708521 11.48472 -7.8033686 42.886648 -23.396327 -1.980193 2.954003 -1888.0547 -1648.7118 -332.0298 -0.099139345 0.11500091 0.033044702 -0.3701566 42.83112 13235.861 526.41632 - 200 460.81997 11.853566 10.817157 -8.2276485 41.690123 -22.521598 -4.273021 2.9600599 -1906.2904 -1609.02 -265.94404 -0.20527926 0.49305948 0.031504957 -0.36829556 41.729191 12619.125 615.80924 - 300 481.48652 12.385166 10.035423 -8.3866916 43.180131 -21.755813 -7.7032433 2.9714114 -1968.7685 290.49656 251.72564 -0.21935745 0.56300721 0.029467915 -0.36568855 43.236828 11803.2 1169.2917 - 400 487.3584 12.536208 11.766522 -8.3643382 49.109699 -24.824142 2.9744597 2.9794185 -2335.993 1368.7398 570.03286 -0.028366234 0.0094148316 0.028338146 -0.36416383 49.028096 11350.678 1574.1427 - 500 446.36019 11.48162 12.144202 -8.680266 45.427771 -22.825143 16.22356 2.9684828 -2113.91 -272.84753 185.53392 0.091614289 0.098205455 0.028793585 -0.36478567 45.368325 11533.101 979.68395 - 600 500.3783 12.871115 11.075008 -8.47833 47.783726 -22.456104 6.837575 2.967236 -2023.8117 -918.27943 -2.4106994 0.093360761 0.10198539 0.029589188 -0.36584873 47.725157 11851.775 912.39361 - 700 435.40634 11.199857 10.923558 -8.3090105 42.626187 -20.571698 -5.7252564 2.9560528 -1806.9448 -1418.2247 -148.41657 0.075011202 0.065835696 0.030359455 -0.36685105 42.558523 12160.301 617.20857 - 800 446.82793 11.493652 11.599712 -8.0900498 45.160336 -21.885719 -6.7745694 2.9575472 -1894.3641 -1329.3179 -136.42193 0.011114896 0.0014455064 0.030808183 -0.3674233 45.076543 12340.037 652.13243 - 900 448.28506 11.531133 12.130739 -8.0810557 45.604542 -21.816625 5.586068 2.9578604 -1890.4653 -1271.1107 -111.89061 -0.020285587 0.0048148677 0.030774258 -0.36738033 45.521594 12326.448 674.68073 - 1000 440.94913 11.342433 10.765654 -8.1419484 45.264242 -22.833545 6.9260573 2.960122 -2007.6188 -1179.7125 -70.907567 -0.062733519 0.046047757 0.030329191 -0.36681215 45.191633 12148.179 730.67128 -Loop time of 0.248185 on 1 procs for 1000 steps with 200 atoms + 0 0 0 10.862314 -7.320388 4.3005229 3.3062167 -8.7249482 2.9571502 -1743.5332 -698.49808 -172.07477 0 0 0.033460054 -0.37064378 4.216227 13402.228 -175.34503 + 100 455.18121 11.708521 11.48472 -7.8033686 42.886648 2.9263894 -1.980193 2.954003 -1888.0547 -1648.7118 -332.0298 -0.099139345 0.11500091 0.033044702 -0.3701566 42.83112 13235.861 526.41632 + 200 460.81997 11.853566 10.817157 -8.2276485 41.690123 3.1450717 -4.273021 2.9600599 -1906.2904 -1609.02 -265.94404 -0.20527926 0.49305948 0.031504957 -0.36829556 41.729191 12619.125 615.80924 + 300 481.48652 12.385166 10.035423 -8.3866916 43.180131 3.336518 -7.7032433 2.9714114 -1968.7685 290.49656 251.72564 -0.21935745 0.56300721 0.029467915 -0.36568855 43.236828 11803.2 1169.2917 + 400 487.3584 12.536208 11.766522 -8.3643382 49.109699 2.5694358 2.9744597 2.9794185 -2335.993 1368.7398 570.03286 -0.028366234 0.0094148316 0.028338146 -0.36416383 49.028096 11350.678 1574.1427 + 500 446.36019 11.48162 12.144202 -8.680266 45.427771 3.0691855 16.22356 2.9684828 -2113.91 -272.84753 185.53392 0.091614289 0.098205455 0.028793585 -0.36478567 45.368325 11533.101 979.68395 + 600 500.3783 12.871115 11.075008 -8.47833 47.783726 3.1614452 6.837575 2.967236 -2023.8117 -918.27943 -2.4106994 0.093360761 0.10198539 0.029589188 -0.36584873 47.725157 11851.775 912.39361 + 700 435.40634 11.199857 10.923558 -8.3090105 42.626187 3.6325468 -5.7252564 2.9560528 -1806.9448 -1418.2247 -148.41657 0.075011202 0.065835696 0.030359455 -0.36685105 42.558523 12160.301 617.20857 + 800 446.82793 11.493652 11.599712 -8.0900498 45.160336 3.3040415 -6.7745694 2.9575472 -1894.3641 -1329.3179 -136.42193 0.011114896 0.0014455064 0.030808183 -0.3674233 45.076543 12340.037 652.13243 + 900 448.28506 11.531133 12.130739 -8.0810557 45.604542 3.321315 5.586068 2.9578604 -1890.4653 -1271.1107 -111.89061 -0.020285587 0.0048148677 0.030774258 -0.36738033 45.521594 12326.448 674.68073 + 1000 440.94913 11.342433 10.765654 -8.1419484 45.264242 3.0670849 6.9260573 2.960122 -2007.6188 -1179.7125 -70.907567 -0.062733519 0.046047757 0.030329191 -0.36681215 45.191633 12148.179 730.67128 +Loop time of 0.218435 on 1 procs for 1000 steps with 200 atoms -Performance: 348.128 ns/day, 0.069 hours/ns, 4029.259 timesteps/s, 805.852 katom-step/s -97.8% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 395.541 ns/day, 0.061 hours/ns, 4578.019 timesteps/s, 915.604 katom-step/s +99.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.14702 | 0.14702 | 0.14702 | 0.0 | 59.24 -Neigh | 0.0010003 | 0.0010003 | 0.0010003 | 0.0 | 0.40 -Comm | 0.0039821 | 0.0039821 | 0.0039821 | 0.0 | 1.60 -Output | 0.00023527 | 0.00023527 | 0.00023527 | 0.0 | 0.09 -Modify | 0.094519 | 0.094519 | 0.094519 | 0.0 | 38.08 -Other | | 0.001427 | | | 0.58 +Pair | 0.12079 | 0.12079 | 0.12079 | 0.0 | 55.30 +Neigh | 0.0010224 | 0.0010224 | 0.0010224 | 0.0 | 0.47 +Comm | 0.0035478 | 0.0035478 | 0.0035478 | 0.0 | 1.62 +Output | 0.00010889 | 0.00010889 | 0.00010889 | 0.0 | 0.05 +Modify | 0.092098 | 0.092098 | 0.092098 | 0.0 | 42.16 +Other | | 0.0008684 | | | 0.40 Nlocal: 200 ave 200 max 200 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/PACKAGES/pimd/langevin_metal_units/log.14Jun23.langevin.metal.g++.3 b/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.langevin.metal.g++.3 similarity index 70% rename from examples/PACKAGES/pimd/langevin_metal_units/log.14Jun23.langevin.metal.g++.3 rename to examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.langevin.metal.g++.3 index 423ebb7d63..25578a068c 100644 --- a/examples/PACKAGES/pimd/langevin_metal_units/log.14Jun23.langevin.metal.g++.3 +++ b/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.langevin.metal.g++.3 @@ -1,5 +1,6 @@ -LAMMPS (28 Mar 2023) +LAMMPS (3 Aug 2023) Processor partition = 3 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task variable ibead uloop 99 pad @@ -29,10 +30,7 @@ timestep 0.001 velocity all create 0.0 ${ibead} velocity all create 0.0 04 -fix 1 all pimd/langevin ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no - -Initializing PIMD BZP barostat... -The barostat mass is W = 2.3401256650800001e+01 +fix 1 all pimd/langevin method nmpimd ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no thermo_style custom step temp f_1[*] vol press thermo 100 @@ -43,15 +41,6 @@ thermo_modify norm no run 1000 Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule - -Initializing PI Langevin equation thermostat... -Bead ID | omega | tau | c1 | c2 - 0 0.00000000e+00 1.00000000e+00 9.99500125e-01 3.16148726e-02 - 1 8.37986825e+01 5.96668092e-03 9.19616372e-01 3.92817678e-01 - 2 1.18509233e+02 4.21908054e-03 8.88243614e-01 4.59372705e-01 - 3 8.37986825e+01 5.96668092e-03 9.19616372e-01 3.92817678e-01 -PILE_L thermostat successfully initialized! - Neighbor list info ... update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 @@ -66,31 +55,31 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 3.121 | 3.121 | 3.121 Mbytes Step Temp f_1[1] f_1[2] f_1[3] f_1[4] f_1[5] f_1[6] f_1[7] f_1[8] f_1[9] f_1[10] f_1[11] f_1[12] f_1[13] f_1[14] f_1[15] Volume Press - 0 0 0 10.794425 -7.3457072 4.3005229 -21.877018 -8.7249482 2.9571502 -1743.5332 -698.49808 -172.07477 0 0 0.033460054 -0.37064378 4.216227 13402.228 -191.02389 - 100 426.01705 10.958338 12.206372 -7.8040582 42.886648 -23.396327 -1.980193 2.954003 -1888.0547 -1648.7118 -332.0298 -0.099139345 0.11500091 0.033044702 -0.3701566 42.83112 13235.861 464.39271 - 200 414.52703 10.662783 11.934129 -8.2331312 41.690123 -22.521598 -4.273021 2.9600599 -1906.2904 -1609.02 -265.94404 -0.20527926 0.49305948 0.031504957 -0.36829556 41.729191 12619.125 502.87052 - 300 424.85622 10.928478 11.681713 -8.357621 43.180131 -21.755813 -7.7032433 2.9714114 -1968.7685 290.49656 251.72564 -0.21935745 0.56300721 0.029467915 -0.36568855 43.236828 11803.2 1058.1162 - 400 485.80103 12.496148 12.255827 -8.3658975 49.109699 -24.824142 2.9744597 2.9794185 -2335.993 1368.7398 570.03286 -0.028366234 0.0094148316 0.028338146 -0.36416383 49.028096 11350.678 1570.2486 - 500 462.99006 11.909386 11.187609 -8.6934698 45.427771 -22.825143 16.22356 2.9684828 -2113.91 -272.84753 185.53392 0.091614289 0.098205455 0.028793585 -0.36478567 45.368325 11533.101 1014.2134 - 600 465.24407 11.967366 11.168375 -8.4422887 47.783726 -22.456104 6.837575 2.967236 -2023.8117 -918.27943 -2.4106994 0.093360761 0.10198539 0.029589188 -0.36584873 47.725157 11851.775 864.12413 - 700 426.16111 10.962044 11.000011 -8.2855512 42.626187 -20.571698 -5.7252564 2.9560528 -1806.9448 -1418.2247 -148.41657 0.075011202 0.065835696 0.030359455 -0.36685105 42.558523 12160.301 614.76939 - 800 454.53159 11.691811 10.834606 -8.0654281 45.160336 -21.885719 -6.7745694 2.9575472 -1894.3641 -1329.3179 -136.42193 0.011114896 0.0014455064 0.030808183 -0.3674233 45.076543 12340.037 684.85907 - 900 441.72064 11.362278 10.4492 -8.0786302 45.604542 -21.816625 5.586068 2.9578604 -1890.4653 -1271.1107 -111.89061 -0.020285587 0.0048148677 0.030774258 -0.36738033 45.521594 12326.448 659.68525 - 1000 429.90929 11.058457 11.851933 -8.1578394 45.264242 -22.833545 6.9260573 2.960122 -2007.6188 -1179.7125 -70.907567 -0.062733519 0.046047757 0.030329191 -0.36681215 45.191633 12148.179 698.73278 -Loop time of 0.248175 on 1 procs for 1000 steps with 200 atoms + 0 0 0 10.794425 -7.3457072 4.3005229 3.3062167 -8.7249482 2.9571502 -1743.5332 -698.49808 -172.07477 0 0 0.033460054 -0.37064378 4.216227 13402.228 -191.02389 + 100 426.01705 10.958338 12.206372 -7.8040582 42.886648 2.9263894 -1.980193 2.954003 -1888.0547 -1648.7118 -332.0298 -0.099139345 0.11500091 0.033044702 -0.3701566 42.83112 13235.861 464.39271 + 200 414.52703 10.662783 11.934129 -8.2331312 41.690123 3.1450717 -4.273021 2.9600599 -1906.2904 -1609.02 -265.94404 -0.20527926 0.49305948 0.031504957 -0.36829556 41.729191 12619.125 502.87052 + 300 424.85622 10.928478 11.681713 -8.357621 43.180131 3.336518 -7.7032433 2.9714114 -1968.7685 290.49656 251.72564 -0.21935745 0.56300721 0.029467915 -0.36568855 43.236828 11803.2 1058.1162 + 400 485.80103 12.496148 12.255827 -8.3658975 49.109699 2.5694358 2.9744597 2.9794185 -2335.993 1368.7398 570.03286 -0.028366234 0.0094148316 0.028338146 -0.36416383 49.028096 11350.678 1570.2486 + 500 462.99006 11.909386 11.187609 -8.6934698 45.427771 3.0691855 16.22356 2.9684828 -2113.91 -272.84753 185.53392 0.091614289 0.098205455 0.028793585 -0.36478567 45.368325 11533.101 1014.2134 + 600 465.24407 11.967366 11.168375 -8.4422887 47.783726 3.1614452 6.837575 2.967236 -2023.8117 -918.27943 -2.4106994 0.093360761 0.10198539 0.029589188 -0.36584873 47.725157 11851.775 864.12413 + 700 426.16111 10.962044 11.000011 -8.2855512 42.626187 3.6325468 -5.7252564 2.9560528 -1806.9448 -1418.2247 -148.41657 0.075011202 0.065835696 0.030359455 -0.36685105 42.558523 12160.301 614.76939 + 800 454.53159 11.691811 10.834606 -8.0654281 45.160336 3.3040415 -6.7745694 2.9575472 -1894.3641 -1329.3179 -136.42193 0.011114896 0.0014455064 0.030808183 -0.3674233 45.076543 12340.037 684.85907 + 900 441.72064 11.362278 10.4492 -8.0786302 45.604542 3.321315 5.586068 2.9578604 -1890.4653 -1271.1107 -111.89061 -0.020285587 0.0048148677 0.030774258 -0.36738033 45.521594 12326.448 659.68525 + 1000 429.90929 11.058457 11.851933 -8.1578394 45.264242 3.0670849 6.9260573 2.960122 -2007.6188 -1179.7125 -70.907567 -0.062733519 0.046047757 0.030329191 -0.36681215 45.191633 12148.179 698.73278 +Loop time of 0.218441 on 1 procs for 1000 steps with 200 atoms -Performance: 348.141 ns/day, 0.069 hours/ns, 4029.409 timesteps/s, 805.882 katom-step/s -98.1% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 395.530 ns/day, 0.061 hours/ns, 4577.899 timesteps/s, 915.580 katom-step/s +99.8% 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.14919 | 0.14919 | 0.14919 | 0.0 | 60.12 -Neigh | 0.00099112 | 0.00099112 | 0.00099112 | 0.0 | 0.40 -Comm | 0.0040992 | 0.0040992 | 0.0040992 | 0.0 | 1.65 -Output | 0.0001723 | 0.0001723 | 0.0001723 | 0.0 | 0.07 -Modify | 0.092299 | 0.092299 | 0.092299 | 0.0 | 37.19 -Other | | 0.00142 | | | 0.57 +Pair | 0.11655 | 0.11655 | 0.11655 | 0.0 | 53.35 +Neigh | 0.0010236 | 0.0010236 | 0.0010236 | 0.0 | 0.47 +Comm | 0.0035622 | 0.0035622 | 0.0035622 | 0.0 | 1.63 +Output | 0.0001071 | 0.0001071 | 0.0001071 | 0.0 | 0.05 +Modify | 0.096348 | 0.096348 | 0.096348 | 0.0 | 44.11 +Other | | 0.0008537 | | | 0.39 Nlocal: 200 ave 200 max 200 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.pimd-langevin.metal.g++ b/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.pimd-langevin.metal.g++ new file mode 100644 index 0000000000..a05d2d9aa8 --- /dev/null +++ b/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.pimd-langevin.metal.g++ @@ -0,0 +1,2 @@ +LAMMPS (3 Aug 2023) +Running on 4 partitions of processors diff --git a/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.pimd-langevin.metal.g++.0 b/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.pimd-langevin.metal.g++.0 new file mode 100644 index 0000000000..2d9d049a49 --- /dev/null +++ b/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.pimd-langevin.metal.g++.0 @@ -0,0 +1,103 @@ +LAMMPS (3 Aug 2023) +Processor partition = 0 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable ibead uloop 99 pad + +units metal +atom_style atomic +atom_modify map yes +boundary p p p +pair_style lj/cut 9.5251 +read_data data.metalnpt${ibead} +read_data data.metalnpt01 +Reading data file ... + orthogonal box = (-11.876697 -11.876697 -11.876697) to (11.876697 11.876697 11.876697) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 200 atoms + reading velocities ... + 200 velocities + read_data CPU = 0.001 seconds + +pair_coeff * * 0.00965188 3.4 +pair_modify shift yes + +mass 1 39.948 + +timestep 0.001 + +velocity all create 0.0 ${ibead} +velocity all create 0.0 01 + +fix 1 all pimd/langevin method pimd ensemble nvt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 taup 1.0 fixcom no + +thermo_style custom step temp f_1[*] vol press +thermo 100 +thermo_modify norm no + +# dump dcd all custom 100 ${ibead}.dcd id type xu yu zu vx vy vz ix iy iz fx fy fz +# dump_modify dcd sort id format line "%d %d %.16f %.16f %.16f %.16f %.16f %.16f %d %d %d %.16f %.16f %.16f" + +run 1000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Initializing PI Langevin equation thermostat... + Bead ID | omega | tau | c1 | c2 + 0 5.92546167e+01 1.00000000e+00 9.99500125e-01 3.16148726e-02 + 1 5.92546167e+01 1.00000000e+00 9.99500125e-01 3.16148726e-02 + 2 5.92546167e+01 1.00000000e+00 9.99500125e-01 3.16148726e-02 + 3 5.92546167e+01 1.00000000e+00 9.99500125e-01 3.16148726e-02 + PILE_L thermostat successfully initialized! + +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 11.5251 + ghost atom cutoff = 11.5251 + binsize = 5.76255, 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 + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.121 | 3.121 | 3.121 Mbytes + Step Temp f_1[1] f_1[2] f_1[3] f_1[4] f_1[5] f_1[6] f_1[7] f_1[8] f_1[9] f_1[10] Volume Press + 0 0 0 8.8893303 -7.3046601 4.3005229 3.3062167 0 0 -1743.5332 0 0 13402.228 -164.47373 + 100 248.24141 6.3854564 4.1458616 -7.7546467 9.6829291 3.3062167 0 0 -1743.5332 0.00061164884 127.22547 13402.228 26.894568 + 200 346.2569 8.9066861 2.6427185 -7.8943744 14.016847 3.3062167 0 0 -1743.5332 0.00088274242 177.45909 13402.228 91.225638 + 300 217.65314 5.5986414 7.0223362 -7.788449 18.162833 3.3062167 0 0 -1743.5332 0.00054181173 111.54876 13402.228 -125.00786 + 400 266.83825 6.8638187 6.2507813 -7.7241546 21.628032 3.3062167 0 0 -1743.5332 0.0007209203 136.75648 13402.228 21.104834 + 500 342.40379 8.8075736 5.1959052 -7.7020799 25.668758 3.3062167 0 0 -1743.5332 0.00087137898 175.48435 13402.228 208.60351 + 600 280.37754 7.2120867 8.0025846 -7.5954127 28.570788 3.3062167 0 0 -1743.5332 0.00072432598 143.69546 13402.228 162.09838 + 700 377.11625 9.700474 6.0049074 -7.5861377 30.034627 3.3062167 0 0 -1743.5332 0.00092377441 193.27472 13402.228 389.35575 + 800 378.36221 9.7325237 6.1704761 -7.6170017 31.447502 3.3062167 0 0 -1743.5332 0.00097254954 193.91329 13402.228 387.71781 + 900 271.99864 6.9965581 9.037081 -7.4781664 32.906719 3.3062167 0 0 -1743.5332 0.00074024142 139.40121 13402.228 266.3664 + 1000 362.4753 9.3238683 8.0266514 -7.4835536 34.914285 3.3062167 0 0 -1743.5332 0.00088800624 185.77114 13402.228 433.67079 +Loop time of 0.166656 on 1 procs for 1000 steps with 200 atoms + +Performance: 518.435 ns/day, 0.046 hours/ns, 6000.401 timesteps/s, 1.200 Matom-step/s +99.5% 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.10478 | 0.10478 | 0.10478 | 0.0 | 62.87 +Neigh | 0.00096007 | 0.00096007 | 0.00096007 | 0.0 | 0.58 +Comm | 0.0035065 | 0.0035065 | 0.0035065 | 0.0 | 2.10 +Output | 0.0001037 | 0.0001037 | 0.0001037 | 0.0 | 0.06 +Modify | 0.056454 | 0.056454 | 0.056454 | 0.0 | 33.87 +Other | | 0.0008515 | | | 0.51 + +Nlocal: 200 ave 200 max 200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1360 ave 1360 max 1360 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 9544 ave 9544 max 9544 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 9544 +Ave neighs/atom = 47.72 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.pimd-langevin.metal.g++.1 b/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.pimd-langevin.metal.g++.1 new file mode 100644 index 0000000000..9be069b960 --- /dev/null +++ b/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.pimd-langevin.metal.g++.1 @@ -0,0 +1,95 @@ +LAMMPS (3 Aug 2023) +Processor partition = 1 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable ibead uloop 99 pad + +units metal +atom_style atomic +atom_modify map yes +boundary p p p +pair_style lj/cut 9.5251 +read_data data.metalnpt${ibead} +read_data data.metalnpt02 +Reading data file ... + orthogonal box = (-11.876697 -11.876697 -11.876697) to (11.876697 11.876697 11.876697) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 200 atoms + reading velocities ... + 200 velocities + read_data CPU = 0.001 seconds + +pair_coeff * * 0.00965188 3.4 +pair_modify shift yes + +mass 1 39.948 + +timestep 0.001 + +velocity all create 0.0 ${ibead} +velocity all create 0.0 02 + +fix 1 all pimd/langevin method pimd ensemble nvt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 taup 1.0 fixcom no + +thermo_style custom step temp f_1[*] vol press +thermo 100 +thermo_modify norm no + +# dump dcd all custom 100 ${ibead}.dcd id type xu yu zu vx vy vz ix iy iz fx fy fz +# dump_modify dcd sort id format line "%d %d %.16f %.16f %.16f %.16f %.16f %.16f %d %d %d %.16f %.16f %.16f" + +run 1000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 11.5251 + ghost atom cutoff = 11.5251 + binsize = 5.76255, 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 + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.121 | 3.121 | 3.121 Mbytes + Step Temp f_1[1] f_1[2] f_1[3] f_1[4] f_1[5] f_1[6] f_1[7] f_1[8] f_1[9] f_1[10] Volume Press + 0 0 0 8.4854554 -7.3063682 4.3005229 3.3062167 0 0 -1743.5332 0 0 13402.228 -167.65544 + 100 231.55472 5.9562285 3.9188988 -7.7552569 9.6829291 3.3062167 0 0 -1743.5332 0.00061164884 127.22547 13402.228 -9.7693407 + 200 366.33366 9.423116 2.3606144 -7.8893287 14.016847 3.3062167 0 0 -1743.5332 0.00088274242 177.45909 13402.228 131.05061 + 300 213.74457 5.4981021 6.4391043 -7.7947526 18.162833 3.3062167 0 0 -1743.5332 0.00054181173 111.54876 13402.228 -136.92734 + 400 273.60832 7.0379636 5.6777233 -7.7709858 21.628032 3.3062167 0 0 -1743.5332 0.0007209203 136.75648 13402.228 -0.14681392 + 500 338.99655 8.7199299 5.4335645 -7.7194465 25.668758 3.3062167 0 0 -1743.5332 0.00087137898 175.48435 13402.228 190.1705 + 600 298.58126 7.6803369 7.2512164 -7.5741948 28.570788 3.3062167 0 0 -1743.5332 0.00072432598 143.69546 13402.228 226.78095 + 700 352.53291 9.0681226 5.4845895 -7.5875298 30.034627 3.3062167 0 0 -1743.5332 0.00092377441 193.27472 13402.228 335.39327 + 800 389.70585 10.024313 5.143907 -7.6218106 31.447502 3.3062167 0 0 -1743.5332 0.00097254954 193.91329 13402.228 409.36108 + 900 285.3019 7.3387547 7.6228894 -7.5140003 32.906719 3.3062167 0 0 -1743.5332 0.00074024142 139.40121 13402.228 266.93105 + 1000 345.35667 8.8835299 6.9652602 -7.5180013 34.914285 3.3062167 0 0 -1743.5332 0.00088800624 185.77114 13402.228 368.83819 +Loop time of 0.16666 on 1 procs for 1000 steps with 200 atoms + +Performance: 518.420 ns/day, 0.046 hours/ns, 6000.230 timesteps/s, 1.200 Matom-step/s +99.8% 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.10798 | 0.10798 | 0.10798 | 0.0 | 64.79 +Neigh | 0.00097784 | 0.00097784 | 0.00097784 | 0.0 | 0.59 +Comm | 0.0035304 | 0.0035304 | 0.0035304 | 0.0 | 2.12 +Output | 8.5625e-05 | 8.5625e-05 | 8.5625e-05 | 0.0 | 0.05 +Modify | 0.05322 | 0.05322 | 0.05322 | 0.0 | 31.93 +Other | | 0.0008694 | | | 0.52 + +Nlocal: 200 ave 200 max 200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1360 ave 1360 max 1360 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 9552 ave 9552 max 9552 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 9552 +Ave neighs/atom = 47.76 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.pimd-langevin.metal.g++.2 b/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.pimd-langevin.metal.g++.2 new file mode 100644 index 0000000000..f5869bcb03 --- /dev/null +++ b/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.pimd-langevin.metal.g++.2 @@ -0,0 +1,95 @@ +LAMMPS (3 Aug 2023) +Processor partition = 2 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable ibead uloop 99 pad + +units metal +atom_style atomic +atom_modify map yes +boundary p p p +pair_style lj/cut 9.5251 +read_data data.metalnpt${ibead} +read_data data.metalnpt03 +Reading data file ... + orthogonal box = (-11.876697 -11.876697 -11.876697) to (11.876697 11.876697 11.876697) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 200 atoms + reading velocities ... + 200 velocities + read_data CPU = 0.001 seconds + +pair_coeff * * 0.00965188 3.4 +pair_modify shift yes + +mass 1 39.948 + +timestep 0.001 + +velocity all create 0.0 ${ibead} +velocity all create 0.0 03 + +fix 1 all pimd/langevin method pimd ensemble nvt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 taup 1.0 fixcom no + +thermo_style custom step temp f_1[*] vol press +thermo 100 +thermo_modify norm no + +# dump dcd all custom 100 ${ibead}.dcd id type xu yu zu vx vy vz ix iy iz fx fy fz +# dump_modify dcd sort id format line "%d %d %.16f %.16f %.16f %.16f %.16f %.16f %d %d %d %.16f %.16f %.16f" + +run 1000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 11.5251 + ghost atom cutoff = 11.5251 + binsize = 5.76255, 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 + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.121 | 3.121 | 3.121 Mbytes + Step Temp f_1[1] f_1[2] f_1[3] f_1[4] f_1[5] f_1[6] f_1[7] f_1[8] f_1[9] f_1[10] Volume Press + 0 0 0 8.4016332 -7.320388 4.3005229 3.3062167 0 0 -1743.5332 0 0 13402.228 -175.34503 + 100 235.06814 6.0466034 4.1185166 -7.7660023 9.6829291 3.3062167 0 0 -1743.5332 0.00061164884 127.22547 13402.228 -7.6578222 + 200 341.9927 8.7969992 2.7767151 -7.9109058 14.016847 3.3062167 0 0 -1743.5332 0.00088274242 177.45909 13402.228 69.587081 + 300 206.29873 5.3065745 7.3388955 -7.7440046 18.162833 3.3062167 0 0 -1743.5332 0.00054181173 111.54876 13402.228 -118.3143 + 400 305.56268 7.8599181 5.7681208 -7.7110516 21.628032 3.3062167 0 0 -1743.5332 0.0007209203 136.75648 13402.228 107.63706 + 500 313.47536 8.0634543 5.5086382 -7.7030371 25.668758 3.3062167 0 0 -1743.5332 0.00087137898 175.48435 13402.228 145.14899 + 600 258.53638 6.6502715 8.1299001 -7.6530176 28.570788 3.3062167 0 0 -1743.5332 0.00072432598 143.69546 13402.228 92.36234 + 700 357.63679 9.1994085 6.539048 -7.6186515 30.034627 3.3062167 0 0 -1743.5332 0.00092377441 193.27472 13402.228 329.17147 + 800 391.32883 10.066061 5.7809035 -7.6148923 31.447502 3.3062167 0 0 -1743.5332 0.00097254954 193.91329 13402.228 415.13205 + 900 308.61185 7.9383512 8.9544585 -7.4803275 32.906719 3.3062167 0 0 -1743.5332 0.00074024142 139.40121 13402.228 341.46691 + 1000 317.70376 8.1722204 7.3013798 -7.4667312 34.914285 3.3062167 0 0 -1743.5332 0.00088800624 185.77114 13402.228 352.92253 +Loop time of 0.16666 on 1 procs for 1000 steps with 200 atoms + +Performance: 518.420 ns/day, 0.046 hours/ns, 6000.235 timesteps/s, 1.200 Matom-step/s +98.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.10509 | 0.10509 | 0.10509 | 0.0 | 63.06 +Neigh | 0.00096379 | 0.00096379 | 0.00096379 | 0.0 | 0.58 +Comm | 0.0035557 | 0.0035557 | 0.0035557 | 0.0 | 2.13 +Output | 7.8072e-05 | 7.8072e-05 | 7.8072e-05 | 0.0 | 0.05 +Modify | 0.05611 | 0.05611 | 0.05611 | 0.0 | 33.67 +Other | | 0.0008601 | | | 0.52 + +Nlocal: 200 ave 200 max 200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1364 ave 1364 max 1364 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 9545 ave 9545 max 9545 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 9545 +Ave neighs/atom = 47.725 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.pimd-langevin.metal.g++.3 b/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.pimd-langevin.metal.g++.3 new file mode 100644 index 0000000000..da0767fe0d --- /dev/null +++ b/examples/PACKAGES/pimd/langevin_metal_units/log.16Nov23.pimd-langevin.metal.g++.3 @@ -0,0 +1,95 @@ +LAMMPS (3 Aug 2023) +Processor partition = 3 +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +variable ibead uloop 99 pad + +units metal +atom_style atomic +atom_modify map yes +boundary p p p +pair_style lj/cut 9.5251 +read_data data.metalnpt${ibead} +read_data data.metalnpt04 +Reading data file ... + orthogonal box = (-11.876697 -11.876697 -11.876697) to (11.876697 11.876697 11.876697) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 200 atoms + reading velocities ... + 200 velocities + read_data CPU = 0.001 seconds + +pair_coeff * * 0.00965188 3.4 +pair_modify shift yes + +mass 1 39.948 + +timestep 0.001 + +velocity all create 0.0 ${ibead} +velocity all create 0.0 04 + +fix 1 all pimd/langevin method pimd ensemble nvt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 taup 1.0 fixcom no + +thermo_style custom step temp f_1[*] vol press +thermo 100 +thermo_modify norm no + +# dump dcd all custom 100 ${ibead}.dcd id type xu yu zu vx vy vz ix iy iz fx fy fz +# dump_modify dcd sort id format line "%d %d %.16f %.16f %.16f %.16f %.16f %.16f %d %d %d %.16f %.16f %.16f" + +run 1000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 11.5251 + ghost atom cutoff = 11.5251 + binsize = 5.76255, 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 + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.121 | 3.121 | 3.121 Mbytes + Step Temp f_1[1] f_1[2] f_1[3] f_1[4] f_1[5] f_1[6] f_1[7] f_1[8] f_1[9] f_1[10] Volume Press + 0 0 0 7.8012276 -7.3457072 4.3005229 3.3062167 0 0 -1743.5332 0 0 13402.228 -191.02389 + 100 241.19035 6.2040835 3.9473764 -7.7641902 9.6829291 3.3062167 0 0 -1743.5332 0.00061164884 127.22547 13402.228 3.5720518 + 200 325.21166 8.3653443 2.3529831 -7.9137212 14.016847 3.3062167 0 0 -1743.5332 0.00088274242 177.45909 13402.228 33.184125 + 300 209.19735 5.381135 6.7063061 -7.801056 18.162833 3.3062167 0 0 -1743.5332 0.00054181173 111.54876 13402.228 -154.10632 + 400 280.84513 7.2241142 5.8838331 -7.7320495 21.628032 3.3062167 0 0 -1743.5332 0.0007209203 136.75648 13402.228 45.624285 + 500 367.15726 9.4443014 5.2842629 -7.6643085 25.668758 3.3062167 0 0 -1743.5332 0.00087137898 175.48435 13402.228 283.59979 + 600 294.68254 7.5800508 6.5104311 -7.6234652 28.570788 3.3062167 0 0 -1743.5332 0.00072432598 143.69546 13402.228 183.09906 + 700 356.64514 9.1739005 5.2769462 -7.6204507 30.034627 3.3062167 0 0 -1743.5332 0.00092377441 193.27472 13402.228 334.31754 + 800 360.77353 9.2800941 5.7976264 -7.6946985 31.447502 3.3062167 0 0 -1743.5332 0.00097254954 193.91329 13402.228 299.62001 + 900 291.14241 7.4889889 7.5124196 -7.5102882 32.906719 3.3062167 0 0 -1743.5332 0.00074024142 139.40121 13402.228 277.94834 + 1000 362.48694 9.3241677 6.8711151 -7.4856221 34.914285 3.3062167 0 0 -1743.5332 0.00088800624 185.77114 13402.228 428.98682 +Loop time of 0.166662 on 1 procs for 1000 steps with 200 atoms + +Performance: 518.414 ns/day, 0.046 hours/ns, 6000.167 timesteps/s, 1.200 Matom-step/s +98.5% 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.10817 | 0.10817 | 0.10817 | 0.0 | 64.90 +Neigh | 0.00096402 | 0.00096402 | 0.00096402 | 0.0 | 0.58 +Comm | 0.0044991 | 0.0044991 | 0.0044991 | 0.0 | 2.70 +Output | 8.5449e-05 | 8.5449e-05 | 8.5449e-05 | 0.0 | 0.05 +Modify | 0.052066 | 0.052066 | 0.052066 | 0.0 | 31.24 +Other | | 0.00088 | | | 0.53 + +Nlocal: 200 ave 200 max 200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1368 ave 1368 max 1368 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 9541 ave 9541 max 9541 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 9541 +Ave neighs/atom = 47.705 +Neighbor list builds = 4 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/pimd/langevin_metal_units/run.sh b/examples/PACKAGES/pimd/langevin_metal_units/run.sh index 2580ef1a41..8bac9231a3 100644 --- a/examples/PACKAGES/pimd/langevin_metal_units/run.sh +++ b/examples/PACKAGES/pimd/langevin_metal_units/run.sh @@ -1 +1,3 @@ -mpirun -np 4 $LMP -in in.lmp -p 4x1 -log log -screen screen +mpirun -np 4 $LMP -in in.langevin.metal -p 4x1 -log log.langevin.metal -screen screen +mpirun -np 4 $LMP -in in.pimd-langevin.metal -p 4x1 -log log.pimd-langevin.metal -screen screen + diff --git a/examples/balance/in.balance b/examples/balance/in.balance index 3a1298acfd..c10500f86b 100644 --- a/examples/balance/in.balance +++ b/examples/balance/in.balance @@ -50,5 +50,6 @@ fix 10 all balance 50 0.9 rcb thermo_style custom step temp epair press f_10[3] f_10 thermo 100 +timestep 0.001 run 10000 diff --git a/examples/balance/in.balance.bond.fast b/examples/balance/in.balance.bond.fast index ff54fb94cc..cbc76272e0 100644 --- a/examples/balance/in.balance.bond.fast +++ b/examples/balance/in.balance.bond.fast @@ -59,5 +59,6 @@ fix 10 all balance 50 0.9 rcb thermo_style custom step temp epair press f_10[3] f_10 thermo 100 +timestep 0.001 run 10000 diff --git a/examples/balance/in.balance.bond.slow b/examples/balance/in.balance.bond.slow index 1fd4ae4c85..5e0f9e0568 100644 --- a/examples/balance/in.balance.bond.slow +++ b/examples/balance/in.balance.bond.slow @@ -58,5 +58,6 @@ fix 10 all balance 50 0.9 rcb thermo_style custom step temp epair press f_10[3] f_10 thermo 100 +timestep 0.001 run 40000 diff --git a/examples/balance/log.27Nov18.balance.bond.fast.g++.2 b/examples/balance/log.27Nov18.balance.bond.fast.g++.2 deleted file mode 100644 index 0cc1495368..0000000000 --- a/examples/balance/log.27Nov18.balance.bond.fast.g++.2 +++ /dev/null @@ -1,242 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 2d circle of particles inside a box with LJ walls - -variable b index 0 - -variable x index 50 -variable y index 20 -variable d index 20 -variable v index 5 -variable w index 2 - -units lj -dimension 2 -atom_style bond -boundary f f p - -lattice hex 0.85 -Lattice spacing in x,y,z = 1.16553 2.01877 1.16553 -region box block 0 $x 0 $y -0.5 0.5 -region box block 0 50 0 $y -0.5 0.5 -region box block 0 50 0 20 -0.5 0.5 -create_box 1 box bond/types 1 extra/bond/per/atom 6 -Created orthogonal box = (0 0 -0.582767) to (58.2767 40.3753 0.582767) - 2 by 1 by 1 MPI processor grid -region circle sphere $(v_d/2+1) $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) -region circle sphere 11 $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) -region circle sphere 11 6.7735026918962581988 0.0 $(v_d/2) -region circle sphere 11 6.7735026918962581988 0.0 10 -create_atoms 1 region circle -Created 361 atoms - Time spent = 0.000778913 secs -mass 1 1.0 - -velocity all create 0.5 87287 loop geom -velocity all set $v $w 0 sum yes -velocity all set 5 $w 0 sum yes -velocity all set 5 2 0 sum yes - -pair_style lj/cut 2.5 -pair_coeff 1 1 10.0 1.0 2.5 - -bond_style harmonic -bond_coeff 1 10.0 1.2 - -# need to preserve 1-3, 1-4 pairwise interactions during hard collisions - -special_bonds lj/coul 0 1 1 - 0 = max # of 1-2 neighbors - 1 = max # of special neighbors -create_bonds many all all 1 1.0 1.5 -Neighbor list info ... - update every 1 steps, delay 10 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 = 42 29 1 - 2 neighbor lists, perpetual/occasional/extra = 1 1 0 - (1) command create_bonds, occasional - attributes: full, newton on - pair build: full/bin - stencil: full/bin/2d - bin: standard - (2) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Added 1014 bonds, new total = 1014 - 6 = max # of 1-2 neighbors - 6 = max # of special neighbors - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 1 all nve - -fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi $x 1 1 2.5 -fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi 50 1 1 2.5 -fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi $y 1 1 2.5 -fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi 20 1 1 2.5 - -comm_style tiled -comm_modify cutoff 10.0 # because bonds stretch a long ways -fix 10 all balance 50 0.9 rcb - -#compute 1 all property/atom proc -#variable p atom (c_1%10)+1 -#dump 2 all custom 50 tmp.dump id v_p x y z - -#dump 3 all image 50 image.*.jpg v_p type bond atom 0.25 # adiam 1.0 view 0 0 zoom 1.8 subbox yes 0.02 -#variable colors string # "red green blue yellow white # purple pink orange lime gray" -#dump_modify 3 pad 5 amap 0 10 sa 1 10 ${colors} - -thermo_style custom step temp epair press f_10[3] f_10 -thermo 100 - -run 10000 -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 = 10 - binsize = 1.4, bins = 42 29 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.156 | 5.167 | 5.177 Mbytes -Step Temp E_pair Press f_10[3] f_10 - 0 25.701528 -2.2032569 3.1039469 2 1.0193906 - 100 27.623422 -6.228166 2.6542136 1.0803324 1.0027701 - 200 33.35302 -15.746749 3.2018248 1.1246537 1.0027701 - 300 39.17734 -24.1557 4.9116986 1.1468144 1.0027701 - 400 41.660701 -27.615203 8.6214678 1.2077562 1.0027701 - 500 37.154935 -24.096954 3.2656298 1.2243767 1.0083102 - 600 35.062196 -21.527799 2.3688444 1.1800554 1.0027701 - 700 36.962955 -22.265373 3.0233424 1.1800554 1.0083102 - 800 38.514356 -24.625735 5.2876402 1.2077562 1.0027701 - 900 37.840168 -24.069158 4.443617 1.2022161 1.0083102 - 1000 36.429396 -23.978878 7.2603394 1.1966759 1.0027701 - 1100 34.75827 -22.743232 6.6304628 1.1745152 1.0083102 - 1200 31.057199 -21.46544 3.7869701 1.1634349 1.0083102 - 1300 33.127345 -22.426161 5.824726 1.0858726 1.0027701 - 1400 31.678654 -21.604473 3.2219261 1.0360111 1.0083102 - 1500 28.345212 -18.030807 0.93335223 1.1191136 1.0027701 - 1600 26.031412 -15.389052 0.82549542 1.1080332 1.0027701 - 1700 25.082832 -13.48625 1.0006592 1.0858726 1.0027701 - 1800 25.673875 -13.965883 0.54607043 1.0692521 1.0027701 - 1900 26.530842 -13.979318 2.0285449 1.1024931 1.0027701 - 2000 25.910771 -14.244515 1.9592232 1.1191136 1.0027701 - 2100 28.505636 -16.220559 1.7154775 1.1191136 1.0027701 - 2200 28.142753 -15.564302 2.9946076 1.1135734 1.0027701 - 2300 26.606225 -13.734442 1.4589278 1.0083102 1.0083102 - 2400 25.664988 -12.389759 1.3450183 1.0360111 1.0027701 - 2500 25.145328 -11.815173 0.48162788 1.0360111 1.0027701 - 2600 26.654868 -13.916929 2.8361012 1.0581717 1.0083102 - 2700 27.3758 -15.495452 4.1206412 1.0360111 1.0027701 - 2800 23.60864 -14.520038 1.8948923 1.0193906 1.0027701 - 2900 20.604557 -12.901121 0.17526991 1.0138504 1.0027701 - 3000 20.852473 -12.756946 -0.44987285 1.0360111 1.0027701 - 3100 21.934986 -12.797691 0.76186765 1.0415512 1.0027701 - 3200 23.293263 -12.368233 0.021937309 1.0526316 1.0027701 - 3300 22.091492 -10.88605 0.013006632 1.0415512 1.0083102 - 3400 23.535429 -10.937804 2.0738989 1.0360111 1.0027701 - 3500 24.503573 -12.202994 1.126785 1.0581717 1.0027701 - 3600 23.54503 -12.745709 0.39022194 1.0858726 1.0027701 - 3700 22.658187 -10.986188 -0.18869692 1.0692521 1.0027701 - 3800 21.282045 -9.7879088 -0.061253454 1.0193906 1.0027701 - 3900 20.571754 -9.1157993 -1.0178917 1.0526316 1.0027701 - 4000 23.779702 -10.230328 1.0778525 1.0581717 1.0083102 - 4100 23.675854 -10.63724 0.59402249 1.0415512 1.0027701 - 4200 24.058963 -11.89505 0.3866378 1.0526316 1.0027701 - 4300 22.683721 -11.358978 1.8269036 1.0470914 1.0083102 - 4400 23.002345 -11.081443 0.4529456 1.0415512 1.0027701 - 4500 21.984542 -10.233276 -0.60718244 1.0415512 1.0083102 - 4600 22.079237 -9.979061 0.53013572 1.0415512 1.0027701 - 4700 22.336961 -10.323583 -0.37512832 1.0249307 1.0027701 - 4800 23.351699 -10.143724 0.95694397 1.0470914 1.0027701 - 4900 23.643954 -10.687354 1.6062522 1.0858726 1.0083102 - 5000 25.158132 -11.532398 1.3083639 1.0914127 1.0027701 - 5100 23.755521 -10.978548 0.60587307 1.0470914 1.0027701 - 5200 21.842692 -10.443216 -0.41185899 1.0637119 1.0027701 - 5300 22.828066 -10.871114 1.1754353 1.0470914 1.0027701 - 5400 24.883977 -12.39165 0.65101173 1.0470914 1.0027701 - 5500 22.908286 -11.419431 1.4712698 1.0637119 1.0027701 - 5600 22.718634 -12.083974 1.5706808 1.0526316 1.0027701 - 5700 23.080763 -11.464882 1.2979578 1.0304709 1.0083102 - 5800 21.877026 -11.483185 0.279772 1.0360111 1.0027701 - 5900 22.526809 -10.868636 0.37121786 1.0637119 1.0083102 - 6000 22.908857 -10.311118 0.58244569 1.0526316 1.0083102 - 6100 22.399847 -10.222706 0.87875674 1.0858726 1.0027701 - 6200 22.623463 -10.035541 -0.25811274 1.0304709 1.0027701 - 6300 21.518006 -10.017552 -0.98187611 1.0470914 1.0083102 - 6400 21.269816 -11.297716 0.20058535 1.0138504 1.0027701 - 6500 23.362834 -11.263306 0.47670072 1.0692521 1.0027701 - 6600 23.705236 -12.358492 -0.63286237 1.0027701 1.0027701 - 6700 22.410623 -10.849516 0.57027834 1.0581717 1.0083102 - 6800 21.661639 -9.3981379 0.38726515 1.0470914 1.0027701 - 6900 21.856521 -8.8451751 0.053822789 1.0304709 1.0027701 - 7000 21.069495 -8.6443387 -0.10412144 1.0193906 1.0027701 - 7100 22.305494 -10.098469 -0.22662961 1.0581717 1.0027701 - 7200 23.52884 -11.055929 -0.099869868 1.0692521 1.0027701 - 7300 24.042008 -11.411758 2.0528788 1.0415512 1.0027701 - 7400 22.870777 -12.408763 0.33346225 1.0249307 1.0027701 - 7500 21.290152 -10.963058 0.26940112 1.0083102 1.0027701 - 7600 21.702686 -10.36214 0.84057004 1.0083102 1.0027701 - 7700 22.478034 -10.832724 -0.70855164 1.0747922 1.0027701 - 7800 22.856853 -11.161008 -0.88354803 1.0083102 1.0083102 - 7900 22.579842 -10.789899 0.40865274 1.0360111 1.0027701 - 8000 24.364281 -12.116023 -0.44788445 1.0249307 1.0083102 - 8100 22.993409 -10.261331 0.44712215 1.0193906 1.0027701 - 8200 23.006207 -10.723372 1.2357091 1.0415512 1.0083102 - 8300 23.292233 -10.041314 2.143692 1.0581717 1.0027701 - 8400 21.658087 -10.089378 -0.25838681 1.0083102 1.0027701 - 8500 23.268456 -10.356603 0.089787317 1.0526316 1.0083102 - 8600 22.572019 -10.32801 0.12320758 1.0526316 1.0027701 - 8700 22.970465 -10.662456 0.57027398 1.0581717 1.0083102 - 8800 23.515552 -10.415842 1.0048598 1.0138504 1.0083102 - 8900 22.733961 -10.343495 0.19917627 1.0360111 1.0083102 - 9000 21.835458 -9.8740971 -1.0653164 1.0193906 1.0027701 - 9100 22.062821 -9.2303832 0.21428267 1.0415512 1.0083102 - 9200 23.020404 -10.321542 -0.48757848 1.0193906 1.0083102 - 9300 22.529362 -9.2916938 0.57056277 1.0415512 1.0027701 - 9400 23.301911 -10.538876 0.80637627 1.0138504 1.0027701 - 9500 21.984286 -9.4754676 -0.19048233 1.0193906 1.0027701 - 9600 23.710224 -10.274983 0.72268146 1.0249307 1.0027701 - 9700 22.317038 -9.3509008 -0.45727658 1.0360111 1.0027701 - 9800 23.41615 -10.026331 -0.45909049 1.0415512 1.0027701 - 9900 22.130299 -11.18528 -0.15359132 1.0747922 1.0027701 - 10000 23.273859 -11.337403 0.4036321 1.0304709 1.0083102 -Loop time of 1.18289 on 2 procs for 10000 steps with 361 atoms - -Performance: 3652073.393 tau/day, 8453.874 timesteps/s -97.0% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.25191 | 0.25685 | 0.2618 | 1.0 | 21.71 -Bond | 0.097655 | 0.098332 | 0.099009 | 0.2 | 8.31 -Neigh | 0.53258 | 0.53993 | 0.54728 | 1.0 | 45.65 -Comm | 0.13457 | 0.15372 | 0.17288 | 4.9 | 13.00 -Output | 0.0013587 | 0.0016007 | 0.0018427 | 0.6 | 0.14 -Modify | 0.074109 | 0.074314 | 0.074518 | 0.1 | 6.28 -Other | | 0.05813 | | | 4.91 - -Nlocal: 180.5 ave 182 max 179 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 172.5 ave 175 max 170 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 1421 ave 1488 max 1354 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 2842 -Ave neighs/atom = 7.87258 -Ave special neighs/atom = 5.61773 -Neighbor list builds = 4884 -Dangerous builds = 0 -Total wall time: 0:00:01 diff --git a/examples/balance/log.27Nov18.balance.bond.fast.g++.4 b/examples/balance/log.27Nov18.balance.bond.fast.g++.4 deleted file mode 100644 index 5cd072cf66..0000000000 --- a/examples/balance/log.27Nov18.balance.bond.fast.g++.4 +++ /dev/null @@ -1,242 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 2d circle of particles inside a box with LJ walls - -variable b index 0 - -variable x index 50 -variable y index 20 -variable d index 20 -variable v index 5 -variable w index 2 - -units lj -dimension 2 -atom_style bond -boundary f f p - -lattice hex 0.85 -Lattice spacing in x,y,z = 1.16553 2.01877 1.16553 -region box block 0 $x 0 $y -0.5 0.5 -region box block 0 50 0 $y -0.5 0.5 -region box block 0 50 0 20 -0.5 0.5 -create_box 1 box bond/types 1 extra/bond/per/atom 6 -Created orthogonal box = (0 0 -0.582767) to (58.2767 40.3753 0.582767) - 2 by 2 by 1 MPI processor grid -region circle sphere $(v_d/2+1) $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) -region circle sphere 11 $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) -region circle sphere 11 6.7735026918962581988 0.0 $(v_d/2) -region circle sphere 11 6.7735026918962581988 0.0 10 -create_atoms 1 region circle -Created 361 atoms - Time spent = 0.00067687 secs -mass 1 1.0 - -velocity all create 0.5 87287 loop geom -velocity all set $v $w 0 sum yes -velocity all set 5 $w 0 sum yes -velocity all set 5 2 0 sum yes - -pair_style lj/cut 2.5 -pair_coeff 1 1 10.0 1.0 2.5 - -bond_style harmonic -bond_coeff 1 10.0 1.2 - -# need to preserve 1-3, 1-4 pairwise interactions during hard collisions - -special_bonds lj/coul 0 1 1 - 0 = max # of 1-2 neighbors - 1 = max # of special neighbors -create_bonds many all all 1 1.0 1.5 -Neighbor list info ... - update every 1 steps, delay 10 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 = 42 29 1 - 2 neighbor lists, perpetual/occasional/extra = 1 1 0 - (1) command create_bonds, occasional - attributes: full, newton on - pair build: full/bin - stencil: full/bin/2d - bin: standard - (2) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Added 1014 bonds, new total = 1014 - 6 = max # of 1-2 neighbors - 6 = max # of special neighbors - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 1 all nve - -fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi $x 1 1 2.5 -fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi 50 1 1 2.5 -fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi $y 1 1 2.5 -fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi 20 1 1 2.5 - -comm_style tiled -comm_modify cutoff 10.0 # because bonds stretch a long ways -fix 10 all balance 50 0.9 rcb - -#compute 1 all property/atom proc -#variable p atom (c_1%10)+1 -#dump 2 all custom 50 tmp.dump id v_p x y z - -#dump 3 all image 50 image.*.jpg v_p type bond atom 0.25 # adiam 1.0 view 0 0 zoom 1.8 subbox yes 0.02 -#variable colors string # "red green blue yellow white # purple pink orange lime gray" -#dump_modify 3 pad 5 amap 0 10 sa 1 10 ${colors} - -thermo_style custom step temp epair press f_10[3] f_10 -thermo 100 - -run 10000 -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 = 10 - binsize = 1.4, bins = 42 29 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.122 | 5.141 | 5.174 Mbytes -Step Temp E_pair Press f_10[3] f_10 - 0 25.701528 -2.2032569 3.1039469 3.2354571 1.0526316 - 100 27.623422 -6.228166 2.6542136 1.2631579 1.0083102 - 200 33.35302 -15.746749 3.2018248 1.2963989 1.0193906 - 300 39.17734 -24.1557 4.9116986 1.2963989 1.0193906 - 400 41.660701 -27.615203 8.6214679 1.3518006 1.0083102 - 500 37.154928 -24.096946 3.2656177 1.3296399 1.0304709 - 600 35.059873 -21.524223 2.3729526 1.3296399 1.0083102 - 700 36.735117 -22.012675 3.266197 1.3296399 1.0083102 - 800 39.218223 -25.076176 4.7162461 1.4182825 1.0193906 - 900 38.003628 -24.598176 3.4651756 1.4958449 1.0083102 - 1000 37.599298 -25.117714 4.6714491 1.2963989 1.0193906 - 1100 35.587211 -24.476201 4.8766816 1.2077562 1.0083102 - 1200 33.05745 -21.457847 4.7304313 1.2188366 1.0193906 - 1300 35.505899 -20.103017 7.0543469 1.1523546 1.0193906 - 1400 32.687958 -18.411286 2.8022421 1.1523546 1.0083102 - 1500 30.681103 -13.979491 1.5780815 1.1523546 1.0083102 - 1600 28.134276 -12.408217 1.4370834 1.2188366 1.0193906 - 1700 29.150676 -12.486223 1.7118526 1.1745152 1.0083102 - 1800 29.456937 -11.386522 2.0484739 1.1966759 1.0193906 - 1900 28.029998 -11.168436 0.38519481 1.1080332 1.0193906 - 2000 29.476997 -12.337678 1.8878345 1.1523546 1.0083102 - 2100 30.113294 -12.201714 2.8003366 1.1634349 1.0193906 - 2200 31.599067 -13.710787 2.5654923 1.2188366 1.0083102 - 2300 31.333799 -12.269386 1.9573739 1.1412742 1.0193906 - 2400 28.587094 -10.98229 2.090581 1.1745152 1.0083102 - 2500 28.012332 -11.416553 2.3293146 1.1855956 1.0083102 - 2600 28.703189 -13.33369 2.7247345 1.1080332 1.0083102 - 2700 26.933934 -13.546384 0.71447362 1.0415512 1.0304709 - 2800 24.556936 -12.231427 0.012081842 1.0526316 1.0193906 - 2900 24.362943 -10.921093 -0.6063159 1.0858726 1.0193906 - 3000 24.583358 -10.025143 0.35975315 1.0637119 1.0083102 - 3100 26.119046 -10.124317 0.75140102 1.0415512 1.0193906 - 3200 27.665317 -11.418452 0.39942176 1.1301939 1.0083102 - 3300 27.771434 -9.9777413 0.94693011 1.1080332 1.0083102 - 3400 25.692188 -9.9016885 2.2582772 1.0415512 1.0083102 - 3500 27.009276 -10.504438 0.98279258 1.1301939 1.0083102 - 3600 26.082843 -9.4359595 -0.030819747 1.1301939 1.0083102 - 3700 23.956851 -8.4601884 -0.45748969 1.0858726 1.0304709 - 3800 24.92141 -8.3315871 -0.19512647 1.0969529 1.0083102 - 3900 26.048044 -9.6299934 0.40522014 1.0858726 1.0083102 - 4000 26.558961 -10.032084 0.56213613 1.1745152 1.0083102 - 4100 26.949686 -10.133598 1.0140825 1.0747922 1.0083102 - 4200 25.868196 -9.3971859 1.2758465 1.0969529 1.0083102 - 4300 24.563369 -9.5992996 0.17389949 1.1191136 1.0193906 - 4400 24.032818 -10.002668 0.10233743 1.0969529 1.0083102 - 4500 25.281577 -9.948799 0.7590423 1.1523546 1.0083102 - 4600 25.010901 -10.195479 -0.24424931 1.0747922 1.0193906 - 4700 25.062368 -9.2973021 1.1755931 1.0858726 1.0193906 - 4800 25.70912 -8.890895 1.0780397 1.1080332 1.0193906 - 4900 26.027757 -10.205469 1.0644859 1.1080332 1.0083102 - 5000 25.845739 -9.8511049 0.49059257 1.1301939 1.0193906 - 5100 25.614064 -9.0396911 0.40825814 1.0526316 1.0304709 - 5200 25.548135 -9.000613 0.81571441 1.1080332 1.0083102 - 5300 26.592601 -9.2385129 1.4983434 1.0637119 1.0193906 - 5400 26.230779 -9.8226036 1.0072462 1.0858726 1.0083102 - 5500 26.809887 -9.9569954 1.4074968 1.0415512 1.0083102 - 5600 25.722206 -10.240487 -0.5216434 1.0747922 1.0193906 - 5700 24.973866 -9.0820997 0.92104357 1.0193906 1.0083102 - 5800 24.257134 -9.5439897 -0.75290789 1.0858726 1.0083102 - 5900 25.524917 -8.9920216 1.2049479 1.1191136 1.0083102 - 6000 24.816532 -9.5865764 -0.66634446 1.0637119 1.0193906 - 6100 27.034385 -9.4017037 1.0769494 1.0969529 1.0083102 - 6200 24.19144 -8.2292864 0.97913204 1.0415512 1.0193906 - 6300 26.112877 -9.1531212 0.77578963 1.0526316 1.0193906 - 6400 25.820541 -9.9662231 -0.092724413 1.0969529 1.0193906 - 6500 26.181404 -9.5875764 -0.30106405 1.1634349 1.0083102 - 6600 27.770851 -8.8366116 0.94545206 1.0304709 1.0193906 - 6700 26.065489 -9.8223382 0.24640067 1.0526316 1.0193906 - 6800 27.468165 -10.160923 2.7263738 1.0747922 1.0304709 - 6900 27.317955 -10.356911 1.131609 1.0526316 1.0304709 - 7000 26.343789 -9.9153453 1.0385354 1.0858726 1.0193906 - 7100 24.366577 -8.9243936 0.37685043 1.0526316 1.0193906 - 7200 25.570042 -8.9195237 0.44206575 1.0637119 1.0193906 - 7300 24.635046 -8.4524117 -0.20581694 1.0193906 1.0193906 - 7400 27.161863 -7.9885934 1.1323072 1.0858726 1.0193906 - 7500 26.8044 -9.5703931 0.69476535 1.0858726 1.0193906 - 7600 27.381006 -10.702178 -0.20230101 1.0526316 1.0083102 - 7700 26.507406 -9.828117 0.50115907 1.0415512 1.0193906 - 7800 25.945271 -8.9912842 0.89121191 1.0747922 1.0083102 - 7900 24.498681 -7.7193231 -0.63874494 1.0858726 1.0083102 - 8000 24.517408 -7.6046107 -0.91642337 1.0415512 1.0083102 - 8100 26.388387 -8.1883906 0.093136981 1.1080332 1.0193906 - 8200 26.261054 -8.7223732 -0.086859057 1.0747922 1.0083102 - 8300 26.287026 -9.2583895 0.79506804 1.0858726 1.0083102 - 8400 24.691375 -9.0701909 -0.40058151 1.0637119 1.0193906 - 8500 25.390612 -7.9499801 0.59874113 1.1412742 1.0193906 - 8600 26.84383 -8.5520984 0.37618599 1.0637119 1.0083102 - 8700 25.685137 -7.688836 0.035978149 1.0415512 1.0193906 - 8800 26.614591 -9.0444146 0.20671465 1.0193906 1.0083102 - 8900 25.782718 -8.2594705 0.54378816 1.0747922 1.0304709 - 9000 26.026886 -8.6777252 0.25418163 1.1191136 1.0083102 - 9100 27.246916 -9.0307861 1.211131 1.0526316 1.0193906 - 9200 27.282948 -9.180029 -0.0056269613 1.0747922 1.0083102 - 9300 27.029692 -8.7791461 0.35971649 1.0304709 1.0083102 - 9400 26.549013 -7.5083174 0.77607249 1.0969529 1.0193906 - 9500 25.533731 -9.2763668 0.28360762 1.0969529 1.0083102 - 9600 27.997538 -9.2766769 1.6968428 1.0637119 1.0083102 - 9700 26.977436 -9.21372 1.8007256 1.0637119 1.0083102 - 9800 25.547091 -9.1024445 -0.29158273 1.0969529 1.0193906 - 9900 26.378841 -8.7645665 1.0385835 1.1080332 1.0083102 - 10000 26.699368 -8.5450739 0.19591452 1.0526316 1.0193906 -Loop time of 0.916576 on 4 procs for 10000 steps with 361 atoms - -Performance: 4713193.307 tau/day, 10910.170 timesteps/s -92.2% 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.10915 | 0.12374 | 0.14167 | 3.5 | 13.50 -Bond | 0.047075 | 0.049849 | 0.054161 | 1.2 | 5.44 -Neigh | 0.31176 | 0.3246 | 0.3384 | 1.7 | 35.41 -Comm | 0.24271 | 0.26717 | 0.30549 | 4.9 | 29.15 -Output | 0.0017068 | 0.0021075 | 0.0031145 | 1.3 | 0.23 -Modify | 0.064639 | 0.065705 | 0.067641 | 0.5 | 7.17 -Other | | 0.08341 | | | 9.10 - -Nlocal: 90.25 ave 92 max 89 min -Histogram: 1 0 0 2 0 0 0 0 0 1 -Nghost: 248.25 ave 264 max 230 min -Histogram: 1 0 0 0 0 2 0 0 0 1 -Neighs: 569.5 ave 657 max 519 min -Histogram: 2 0 0 0 1 0 0 0 0 1 - -Total # of neighbors = 2278 -Ave neighs/atom = 6.31025 -Ave special neighs/atom = 5.61773 -Neighbor list builds = 4964 -Dangerous builds = 14 -Total wall time: 0:00:00 diff --git a/examples/balance/log.27Nov18.balance.bond.slow.g++.2 b/examples/balance/log.27Nov18.balance.bond.slow.g++.2 deleted file mode 100644 index 5e23613f1f..0000000000 --- a/examples/balance/log.27Nov18.balance.bond.slow.g++.2 +++ /dev/null @@ -1,541 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 2d circle of particles inside a box with LJ walls - -variable b index 0 - -variable x index 50 -variable y index 20 -variable d index 20 - -# careful not to slam into wall too hard - -variable v index 0.3 -variable w index 0.08 - -units lj -dimension 2 -atom_style bond -boundary f f p - -lattice hex 0.85 -Lattice spacing in x,y,z = 1.16553 2.01877 1.16553 -region box block 0 $x 0 $y -0.5 0.5 -region box block 0 50 0 $y -0.5 0.5 -region box block 0 50 0 20 -0.5 0.5 -create_box 1 box bond/types 1 extra/bond/per/atom 6 -Created orthogonal box = (0 0 -0.582767) to (58.2767 40.3753 0.582767) - 2 by 1 by 1 MPI processor grid -region circle sphere $(v_d/2+1) $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) -region circle sphere 11 $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) -region circle sphere 11 6.7735026918962581988 0.0 $(v_d/2) -region circle sphere 11 6.7735026918962581988 0.0 10 -create_atoms 1 region circle -Created 361 atoms - Time spent = 0.000762701 secs -mass 1 1.0 - -velocity all create 0.5 87287 loop geom -velocity all set $v $w 0 sum yes -velocity all set 0.3 $w 0 sum yes -velocity all set 0.3 0.08 0 sum yes - -pair_style lj/cut 2.5 -pair_coeff 1 1 10.0 1.0 2.5 - -bond_style harmonic -bond_coeff 1 10.0 1.2 - -create_bonds many all all 1 1.0 1.5 -Neighbor list info ... - update every 1 steps, delay 10 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 = 42 29 1 - 2 neighbor lists, perpetual/occasional/extra = 1 1 0 - (1) command create_bonds, occasional - attributes: full, newton on - pair build: full/bin - stencil: full/bin/2d - bin: standard - (2) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Added 1014 bonds, new total = 1014 - 6 = max # of 1-2 neighbors - 30 = max # of 1-3 neighbors - 180 = max # of 1-4 neighbors - 36 = max # of special neighbors - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 1 all nve - -fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi $x 1 1 2.5 -fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi 50 1 1 2.5 -fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi $y 1 1 2.5 -fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi 20 1 1 2.5 - -comm_style tiled -fix 10 all balance 50 0.9 rcb - -#compute 1 all property/atom proc -#variable p atom (c_1%10)+1 -#dump 2 all custom 50 tmp.dump id v_p x y z - -#dump 3 all image 200 image.*.jpg v_p type bond atom 0.25 # adiam 1.0 view 0 0 zoom 1.8 subbox yes 0.02 -#variable colors string # "red green blue yellow white # purple pink orange lime gray" -#dump_modify 3 pad 5 amap 0 10 sa 1 10 ${colors} - -thermo_style custom step temp epair press f_10[3] f_10 -thermo 100 - -run 40000 -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 = 42 29 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 7.079 | 7.108 | 7.137 Mbytes -Step Temp E_pair Press f_10[3] f_10 - 0 0.57437856 0 0.26099453 2 1.0193906 - 100 0.29756515 0 0.10149401 1.0027701 1.0027701 - 200 0.35394813 0 0.075159099 1.0027701 1.0083102 - 300 0.39245849 0 0.033002384 1.0027701 1.0027701 - 400 0.34078347 0 -0.020825841 1.0083102 1.0027701 - 500 0.35201095 0 -0.062637506 1.0027701 1.0027701 - 600 0.34014717 0 -0.11122965 1.0249307 1.0027701 - 700 0.3323524 0 -0.11598015 1.0083102 1.0027701 - 800 0.35116047 0 -0.096162395 1.0138504 1.0027701 - 900 0.35695352 0 -0.01385176 1.0249307 1.0027701 - 1000 0.36986539 0 0.056772858 1.0027701 1.0027701 - 1100 0.34584644 0 0.084941323 1.0138504 1.0027701 - 1200 0.31921435 0 0.10545078 1.0138504 1.0027701 - 1300 0.32952819 0 0.124902 1.0027701 1.0027701 - 1400 0.34497365 0 0.12662081 1.0138504 1.0027701 - 1500 0.33429243 0 0.096230972 1.0193906 1.0027701 - 1600 0.33765387 0 0.025800542 1.0193906 1.0027701 - 1700 0.35134464 0 -0.04422593 1.0083102 1.0027701 - 1800 0.35003859 0 -0.096745576 1.0083102 1.0083102 - 1900 0.33839618 0 -0.095465943 1.0027701 1.0027701 - 2000 0.33732078 0 -0.094652802 1.0027701 1.0027701 - 2100 0.34552238 0 -0.076729261 1.0083102 1.0027701 - 2200 0.34893142 0 -0.036853228 1.0083102 1.0083102 - 2300 0.35379341 0 0.021124847 1.0193906 1.0027701 - 2400 0.34829744 0 0.09230184 1.0027701 1.0027701 - 2500 0.33038141 0 0.1399855 1.0027701 1.0083102 - 2600 0.30983019 0 0.12754742 1.0083102 1.0027701 - 2700 0.32992561 0 0.10485138 1.0193906 1.0027701 - 2800 0.34604747 0 0.066174138 1.0083102 1.0027701 - 2900 0.3444791 0 0.036590652 1.0083102 1.0083102 - 3000 0.34721342 0 -0.023793368 1.0138504 1.0027701 - 3100 0.33404314 0 -0.08374223 1.0083102 1.0027701 - 3200 0.33019355 0 -0.12715599 1.0083102 1.0027701 - 3300 0.33515177 0 -0.12217394 1.0083102 1.0027701 - 3400 0.33628481 0 -0.070877624 1.0083102 1.0027701 - 3500 0.34257038 0 -0.021612062 1.0027701 1.0027701 - 3600 0.32838009 0 0.030131228 1.0027701 1.0027701 - 3700 0.34462142 0 0.074586378 1.0138504 1.0027701 - 3800 0.30891825 0 0.10605673 1.0138504 1.0027701 - 3900 0.33847951 0 0.13956139 1.0027701 1.0027701 - 4000 0.32952079 0 0.12688129 1.0027701 1.0027701 - 4100 0.32646772 0 0.081089042 1.0083102 1.0027701 - 4200 0.35399503 0 0.013422873 1.0027701 1.0027701 - 4300 0.33154914 0 -0.050919508 1.0027701 1.0083102 - 4400 0.34113556 0 -0.083171 1.0249307 1.0027701 - 4500 0.32651708 0 -0.1063133 1.0193906 1.0027701 - 4600 0.34359609 0 -0.1076395 1.0027701 1.0027701 - 4700 0.34973537 0 -0.088231606 1.0138504 1.0027701 - 4800 0.35198515 0 -0.020901044 1.0027701 1.0027701 - 4900 0.35187284 0 0.043645941 1.0193906 1.0027701 - 5000 0.34887336 0 0.095698609 1.0027701 1.0027701 - 5100 0.30308163 0 0.11649328 1.0138504 1.0027701 - 5200 0.32401285 0 0.12072411 1.0083102 1.0083102 - 5300 0.33025072 0 0.10933161 1.0138504 1.0027701 - 5400 0.33288012 0 0.078356448 1.0083102 1.0027701 - 5500 0.35142492 0 0.036958063 1.0027701 1.0027701 - 5600 0.35125368 0 -0.041371343 1.0193906 1.0027701 - 5700 0.34547744 0 -0.096450846 1.0193906 1.0027701 - 5800 0.30939887 0 -0.12356656 1.0027701 1.0083102 - 5900 0.32315628 0 -0.11338676 1.0083102 1.0027701 - 6000 0.34117485 0 -0.066198961 1.0027701 1.0027701 - 6100 0.35298043 0 -0.016172816 1.0138504 1.0027701 - 6200 0.35130653 0 0.027660468 1.0027701 1.0027701 - 6300 0.35398766 0 0.087221238 1.0027701 1.0027701 - 6400 0.30963379 0 0.11990957 1.0138504 1.0027701 - 6500 0.3174541 0 0.14103528 1.0083102 1.0083102 - 6600 0.31989791 0 0.11575506 1.0083102 1.0083102 - 6700 0.33811477 0 0.060747353 1.0083102 1.0083102 - 6800 0.3424043 0 0.010357152 1.0083102 1.0027701 - 6900 0.34804319 0 -0.042621786 1.0083102 1.0027701 - 7000 0.35357865 0 -0.067248959 1.0027701 1.0027701 - 7100 0.33556885 0 -0.10983726 1.0083102 1.0027701 - 7200 0.33531101 0 -0.112179 1.0027701 1.0027701 - 7300 0.35742607 0 -0.078405267 1.0083102 1.0027701 - 7400 0.34577559 0 -0.01985432 1.0027701 1.0083102 - 7500 0.3498641 0 0.052289439 1.0027701 1.0027701 - 7600 0.33773715 0 0.092939035 1.0027701 1.0027701 - 7700 0.33093497 0 0.11924405 1.0083102 1.0027701 - 7800 0.31435814 0 0.12701724 1.0027701 1.0027701 - 7900 0.33132217 0 0.10793075 1.0083102 1.0027701 - 8000 0.33451798 0 0.077993125 1.0027701 1.0027701 - 8100 0.35188371 0 0.019929977 1.0083102 1.0083102 - 8200 0.33645742 0 -0.039302079 1.0027701 1.0027701 - 8300 0.3415632 0 -0.098067982 1.0138504 1.0027701 - 8400 0.30619282 0 -0.12952879 1.0138504 1.0027701 - 8500 0.34446484 0 -0.098084709 1.0027701 1.0027701 - 8600 0.33761673 0 -0.07069818 1.0027701 1.0027701 - 8700 0.34495452 0 -0.022458056 1.0083102 1.0027701 - 8800 0.33502983 0 0.027742411 1.0027701 1.0027701 - 8900 0.35418591 0 0.092390134 1.0083102 1.0083102 - 9000 0.31648387 0 0.12467398 1.0083102 1.0027701 - 9100 0.33994825 0 0.14460327 1.0138504 1.0027701 - 9200 0.33822571 0 0.11273284 1.0027701 1.0027701 - 9300 0.33260773 0 0.060063671 1.0083102 1.0083102 - 9400 0.36140305 0 0.021427642 1.0138504 1.0027701 - 9500 0.34273562 0 -0.034064202 1.0083102 1.0027701 - 9600 0.33867054 0 -0.089076906 1.0138504 1.0027701 - 9700 0.32088235 0 -0.12027075 1.0138504 1.0083102 - 9800 0.3320823 0 -0.11602794 1.0138504 1.0027701 - 9900 0.33916442 0 -0.080281044 1.0083102 1.0027701 - 10000 0.34852268 0 -0.01000914 1.0083102 1.0083102 - 10100 0.32955942 0 0.04258493 1.0027701 1.0083102 - 10200 0.34487898 0 0.086971308 1.0083102 1.0027701 - 10300 0.32325593 0 0.11558149 1.0138504 1.0027701 - 10400 0.30927871 0 0.12239437 1.0027701 1.0027701 - 10500 0.33176799 0 0.12285937 1.0138504 1.0083102 - 10600 0.35120027 0 0.084897432 1.0027701 1.0027701 - 10700 0.33129697 0 0.0053089279 1.0138504 1.0027701 - 10800 0.36028769 0 -0.04280715 1.0083102 1.0027701 - 10900 0.35552287 0 -0.084955999 1.0138504 1.0027701 - 11000 0.3406024 0 -0.096554577 1.0027701 1.0027701 - 11100 0.33041202 0 -0.10703492 1.0138504 1.0027701 - 11200 0.32442686 0 -0.084328121 1.0193906 1.0027701 - 11300 0.35952468 0 -0.020191965 1.0083102 1.0027701 - 11400 0.34610624 0 0.03440148 1.0138504 1.0027701 - 11500 0.3415612 0 0.1041929 1.0027701 1.0027701 - 11600 0.34040042 0 0.13215705 1.0138504 1.0027701 - 11700 0.33555094 0 0.12738686 1.0193906 1.0027701 - 11800 0.3458647 0 0.10963398 1.0027701 1.0083102 - 11900 0.33836678 0 0.067253864 1.0138504 1.0027701 - 12000 0.34853314 0 0.03201448 1.0027701 1.0027701 - 12100 0.34600048 0 -0.034833402 1.0083102 1.0027701 - 12200 0.33145631 0 -0.09865675 1.0083102 1.0027701 - 12300 0.32848884 0 -0.1248489 1.0083102 1.0027701 - 12400 0.3321344 0 -0.11266575 1.0027701 1.0083102 - 12500 0.32622305 0 -0.061634993 1.0083102 1.0083102 - 12600 0.36213537 0 -0.0090593315 1.0138504 1.0027701 - 12700 0.34673866 0 0.036734645 1.0138504 1.0027701 - 12800 0.34606618 0 0.086267678 1.0138504 1.0027701 - 12900 0.34271431 0 0.12415522 1.0027701 1.0027701 - 13000 0.31993287 0 0.13879926 1.0027701 1.0083102 - 13100 0.3422918 0 0.11978905 1.0083102 1.0027701 - 13200 0.33055236 0 0.062620483 1.0083102 1.0027701 - 13300 0.34652207 0 0.0043833459 1.0138504 1.0027701 - 13400 0.33574661 0 -0.04691024 1.0027701 1.0027701 - 13500 0.33940837 0 -0.074241604 1.0027701 1.0083102 - 13600 0.32093414 0 -0.1078027 1.0138504 1.0083102 - 13700 0.34336597 0 -0.10544097 1.0027701 1.0027701 - 13800 0.35806461 0 -0.072531559 1.0027701 1.0027701 - 13900 0.35209713 0 -0.018851408 1.0083102 1.0083102 - 14000 0.35702629 0 0.061046366 1.0027701 1.0027701 - 14100 0.33234093 0 0.094086465 1.0027701 1.0027701 - 14200 0.3459466 0 0.12186656 1.0027701 1.0027701 - 14300 0.3327428 0 0.11396572 1.0027701 1.0027701 - 14400 0.32409443 0 0.10658903 1.0083102 1.0083102 - 14500 0.35022184 0 0.083558031 1.0083102 1.0083102 - 14600 0.34823843 0 0.024605569 1.0083102 1.0083102 - 14700 0.35298973 0 -0.040418888 1.0027701 1.0027701 - 14800 0.33679845 0 -0.10067728 1.0027701 1.0027701 - 14900 0.32790966 0 -0.10925568 1.0083102 1.0027701 - 15000 0.34208495 0 -0.09568004 1.0193906 1.0027701 - 15100 0.33647529 0 -0.055652929 1.0027701 1.0027701 - 15200 0.35328398 0 -0.020236536 1.0083102 1.0027701 - 15300 0.34252669 0 0.026434179 1.0083102 1.0027701 - 15400 0.34409435 0 0.094410599 1.0027701 1.0027701 - 15500 0.32288994 0 0.12034455 1.0083102 1.0027701 - 15600 0.32109689 0 0.13645185 1.0083102 1.0027701 - 15700 0.33681572 0 0.098607746 1.0083102 1.0027701 - 15800 0.33635195 0 0.05570715 1.0083102 1.0083102 - 15900 0.34289757 0 0.013849092 1.0083102 1.0027701 - 16000 0.34225547 0 -0.035597548 1.0193906 1.0027701 - 16100 0.33660991 0 -0.076931881 1.0027701 1.0027701 - 16200 0.32802152 0 -0.12765884 1.0083102 1.0027701 - 16300 0.3469374 0 -0.10785455 1.0083102 1.0083102 - 16400 0.34053641 0 -0.070259853 1.0027701 1.0027701 - 16500 0.34610591 0 -0.014315306 1.0083102 1.0027701 - 16600 0.35109001 0 0.041251169 1.0138504 1.0027701 - 16700 0.34336905 0 0.077996627 1.0193906 1.0027701 - 16800 0.33277414 0 0.11053634 1.0027701 1.0083102 - 16900 0.32183338 0 0.11680626 1.0027701 1.0027701 - 17000 0.34044352 0 0.10806555 1.0138504 1.0027701 - 17100 0.32967873 0 0.067759786 1.0138504 1.0027701 - 17200 0.36172278 0 -0.0048631904 1.0083102 1.0083102 - 17300 0.35619435 0 -0.04215545 1.0027701 1.0027701 - 17400 0.34540936 0 -0.093994174 1.0083102 1.0027701 - 17500 0.33193585 0 -0.098831315 1.0083102 1.0027701 - 17600 0.3544756 0 -0.085660403 1.0083102 1.0083102 - 17700 0.34505209 0 -0.069640515 1.0193906 1.0083102 - 17800 0.36291124 0 -0.0063088133 1.0027701 1.0027701 - 17900 0.34255705 0 0.046794555 1.0027701 1.0027701 - 18000 0.34163238 0 0.11767705 1.0138504 1.0027701 - 18100 0.3466445 0 0.1351712 1.0193906 1.0083102 - 18200 0.33037668 0 0.12703659 1.0027701 1.0027701 - 18300 0.33677404 0 0.10956306 1.0027701 1.0083102 - 18400 0.34978954 0 0.087193072 1.0027701 1.0027701 - 18500 0.33354363 0 0.051095814 1.0138504 1.0027701 - 18600 0.34651729 0 0.0056245561 1.0027701 1.0027701 - 18700 0.32622232 0 -0.047319269 1.0027701 1.0083102 - 18800 0.32978847 0 -0.054929416 1.0138504 1.0027701 - 18900 0.34192451 0 -0.037252471 1.0027701 1.0027701 - 19000 0.34061294 0 -0.001167235 1.0083102 1.0027701 - 19100 0.34194478 0 0.016945224 1.0083102 1.0027701 - 19200 0.33321765 0 0.050665354 1.0193906 1.0027701 - 19300 0.33197783 0 0.080470585 1.0138504 1.0027701 - 19400 0.33284715 0 0.12423599 1.0193906 1.0027701 - 19500 0.33867856 0 0.12689524 1.0027701 1.0027701 - 19600 0.36092786 0 0.11417704 1.0027701 1.0027701 - 19700 0.34270183 0 0.069038291 1.0249307 1.0083102 - 19800 0.34880695 0 0.042483681 1.0083102 1.0083102 - 19900 0.33903644 0 0.034788638 1.0027701 1.0027701 - 20000 0.32590125 0 0.011383785 1.0083102 1.0083102 - 20100 0.30358859 0 0.0030743554 1.0138504 1.0027701 - 20200 0.31830224 0 0.017637826 1.0027701 1.0027701 - 20300 0.34195438 0 0.072811099 1.0193906 1.0083102 - 20400 0.31249563 0 0.10063541 1.0083102 1.0027701 - 20500 0.31544938 0 0.1405794 1.0027701 1.0027701 - 20600 0.30071644 0 0.12763486 1.0027701 1.0027701 - 20700 0.2890265 0 0.1136651 1.0083102 1.0027701 - 20800 0.28962296 0 0.094481978 1.0083102 1.0027701 - 20900 0.29447212 0 0.0967165 1.0138504 1.0083102 - 21000 0.31159961 0 0.067307231 1.0027701 1.0027701 - 21100 0.30490648 0 0.017689358 1.0027701 1.0083102 - 21200 0.30687262 0 -0.016055512 1.0027701 1.0083102 - 21300 0.30083286 0 -0.0014988997 1.0083102 1.0027701 - 21400 0.32070426 0 0.015960302 1.0083102 1.0083102 - 21500 0.31439311 0 0.038170385 1.0083102 1.0083102 - 21600 0.32617832 0 0.043263788 1.0083102 1.0027701 - 21700 0.35151793 0 0.066302727 1.0083102 1.0083102 - 21800 0.35912885 0 0.070099103 1.0027701 1.0027701 - 21900 0.32451958 0 0.068935768 1.0083102 1.0027701 - 22000 0.35219298 0 0.067161227 1.0138504 1.0083102 - 22100 0.34857705 0 0.032731746 1.0138504 1.0027701 - 22200 0.34750227 0 0.0056917695 1.0027701 1.0027701 - 22300 0.34766017 0 -0.0027090483 1.0027701 1.0083102 - 22400 0.33426062 0 -0.023196063 1.0027701 1.0083102 - 22500 0.34174625 0 -0.025019717 1.0083102 1.0027701 - 22600 0.3356145 0 -0.029707418 1.0138504 1.0027701 - 22700 0.3362653 0 -0.035815733 1.0083102 1.0027701 - 22800 0.33973405 0 -0.0024705835 1.0193906 1.0027701 - 22900 0.33813085 0 0.0077527467 1.0027701 1.0027701 - 23000 0.33339981 0 0.028340744 1.0027701 1.0027701 - 23100 0.34079832 0 0.018521302 1.0249307 1.0027701 - 23200 0.33074548 0 0.032378405 1.0138504 1.0083102 - 23300 0.32965664 0 0.035989589 1.0138504 1.0027701 - 23400 0.30927749 0 0.024581106 1.0083102 1.0027701 - 23500 0.32890632 0 0.01092479 1.0138504 1.0083102 - 23600 0.34137438 0 0.0094839745 1.0083102 1.0027701 - 23700 0.34512638 0 -0.012392771 1.0138504 1.0027701 - 23800 0.31781354 0 -0.012908449 1.0027701 1.0027701 - 23900 0.32405513 0 -0.015018071 1.0027701 1.0027701 - 24000 0.33549728 0 -0.012812915 1.0083102 1.0083102 - 24100 0.31368736 0 -0.020818372 1.0027701 1.0027701 - 24200 0.33533836 0 0.0056121057 1.0027701 1.0027701 - 24300 0.32530627 0 0.018183931 1.0249307 1.0027701 - 24400 0.31930662 0 0.027446878 1.0027701 1.0083102 - 24500 0.33540302 0 0.040307455 1.0193906 1.0027701 - 24600 0.34020431 0 0.027403921 1.0027701 1.0027701 - 24700 0.3291814 0 0.01204865 1.0083102 1.0027701 - 24800 0.31552604 0 0.019654111 1.0083102 1.0083102 - 24900 0.34727253 0 0.01670543 1.0027701 1.0027701 - 25000 0.35120105 0 0.0038617562 1.0083102 1.0027701 - 25100 0.32706871 0 -0.021196623 1.0193906 1.0083102 - 25200 0.32915282 0 -0.017146508 1.0083102 1.0027701 - 25300 0.32577518 0 -0.01312495 1.0083102 1.0027701 - 25400 0.33286855 0 0.0014726193 1.0138504 1.0027701 - 25500 0.33002601 0 0.0080974022 1.0083102 1.0027701 - 25600 0.34127655 0 0.014296091 1.0138504 1.0083102 - 25700 0.34048065 0 0.022513032 1.0083102 1.0027701 - 25800 0.33029079 0 0.038733531 1.0138504 1.0027701 - 25900 0.33031324 0 0.026156982 1.0027701 1.0027701 - 26000 0.32967371 0 0.028727383 1.0027701 1.0083102 - 26100 0.33775718 0 0.015607478 1.0027701 1.0083102 - 26200 0.35097144 0 0.012291703 1.0027701 1.0027701 - 26300 0.34303792 0 0.00094823191 1.0027701 1.0083102 - 26400 0.33632665 0 -0.0026904889 1.0027701 1.0083102 - 26500 0.33580127 0 -0.0074168555 1.0138504 1.0083102 - 26600 0.33063188 0 -0.020378601 1.0027701 1.0083102 - 26700 0.33581846 0 -0.00084397268 1.0027701 1.0027701 - 26800 0.32998532 0 0.015932208 1.0083102 1.0083102 - 26900 0.33825444 0 0.010428603 1.0193906 1.0027701 - 27000 0.32081518 0 0.019818223 1.0083102 1.0083102 - 27100 0.31448098 0 0.020093416 1.0027701 1.0027701 - 27200 0.32643684 0 0.021934917 1.0083102 1.0027701 - 27300 0.33289466 0 0.023713072 1.0138504 1.0083102 - 27400 0.32310744 0 0.024110945 1.0193906 1.0027701 - 27500 0.33115619 0 0.0025776713 1.0193906 1.0027701 - 27600 0.33295887 0 -0.010710764 1.0083102 1.0083102 - 27700 0.32968876 0 -0.0064595905 1.0083102 1.0027701 - 27800 0.34064581 0 -0.0086519116 1.0027701 1.0027701 - 27900 0.33559187 0 -0.0055753593 1.0249307 1.0027701 - 28000 0.32300727 0 -0.0004153384 1.0138504 1.0027701 - 28100 0.32147461 0 -0.0058543412 1.0083102 1.0083102 - 28200 0.35532383 0 0.013646951 1.0083102 1.0083102 - 28300 0.31507942 0 0.026532255 1.0083102 1.0027701 - 28400 0.32711006 0 0.033214981 1.0083102 1.0027701 - 28500 0.34472462 0 0.028050837 1.0027701 1.0027701 - 28600 0.33708059 0 0.019115676 1.0027701 1.0027701 - 28700 0.34478087 0 0.023743689 1.0193906 1.0027701 - 28800 0.34546686 0 0.0081772997 1.0083102 1.0027701 - 28900 0.34004886 0 0.017771865 1.0138504 1.0027701 - 29000 0.33604232 0 -0.010505671 1.0027701 1.0027701 - 29100 0.33541374 0 -0.016273261 1.0027701 1.0027701 - 29200 0.34347489 0 -0.010002306 1.0083102 1.0027701 - 29300 0.34083904 0 0.0089701784 1.0083102 1.0027701 - 29400 0.34846892 0 0.020765104 1.0027701 1.0027701 - 29500 0.3416255 0 0.022650856 1.0083102 1.0027701 - 29600 0.33725496 0 0.020693083 1.0027701 1.0027701 - 29700 0.34480638 0 0.024317128 1.0138504 1.0027701 - 29800 0.31459471 0 0.023097895 1.0027701 1.0027701 - 29900 0.33014448 0 0.03114046 1.0138504 1.0027701 - 30000 0.33741498 0 0.015624314 1.0083102 1.0027701 - 30100 0.32598657 0 -0.0018860541 1.0138504 1.0027701 - 30200 0.34855815 0 0.0017983372 1.0027701 1.0027701 - 30300 0.33375921 0 0.0010991235 1.0083102 1.0083102 - 30400 0.35008944 0 -0.0027316177 1.0027701 1.0027701 - 30500 0.33279729 0 -0.0035788551 1.0027701 1.0027701 - 30600 0.33868746 0 -0.0016249482 1.0027701 1.0027701 - 30700 0.33597034 0 -0.0014524001 1.0193906 1.0083102 - 30800 0.3227257 0 0.016353457 1.0193906 1.0027701 - 30900 0.32676516 0 0.027396654 1.0027701 1.0027701 - 31000 0.34083982 0 0.031606413 1.0138504 1.0083102 - 31100 0.32165238 0 0.013583368 1.0027701 1.0027701 - 31200 0.3428492 0 0.020486611 1.0138504 1.0027701 - 31300 0.32372541 0 0.01215566 1.0027701 1.0027701 - 31400 0.32734692 0 0.016229397 1.0083102 1.0027701 - 31500 0.33089262 0 0.0060426618 1.0027701 1.0027701 - 31600 0.34273493 0 -0.013456537 1.0083102 1.0083102 - 31700 0.32723905 0 -0.019243766 1.0027701 1.0027701 - 31800 0.33636488 0 0.0027814902 1.0027701 1.0083102 - 31900 0.32834805 0 0.00706877 1.0083102 1.0027701 - 32000 0.33995148 0 0.0018383309 1.0083102 1.0083102 - 32100 0.33412282 0 0.0076455933 1.0027701 1.0083102 - 32200 0.34334884 0 0.023586129 1.0083102 1.0027701 - 32300 0.32778925 0 0.020564321 1.0193906 1.0083102 - 32400 0.33163443 0 0.038878463 1.0083102 1.0027701 - 32500 0.32290345 0 0.022247461 1.0027701 1.0027701 - 32600 0.34113954 0 0.010966365 1.0138504 1.0027701 - 32700 0.33390633 0 0.0037777555 1.0083102 1.0083102 - 32800 0.34385341 0 0.010556575 1.0138504 1.0083102 - 32900 0.32137047 0 0.00022027143 1.0138504 1.0027701 - 33000 0.32079172 0 -0.017261272 1.0083102 1.0027701 - 33100 0.33570882 0 -0.0051942206 1.0027701 1.0027701 - 33200 0.34320894 0 -0.011515281 1.0138504 1.0027701 - 33300 0.32794746 0 -0.0018153673 1.0027701 1.0027701 - 33400 0.33060982 0 0.027118146 1.0027701 1.0027701 - 33500 0.33641809 0 0.02143035 1.0083102 1.0027701 - 33600 0.33643061 0 0.020833068 1.0083102 1.0027701 - 33700 0.3485949 0 0.030918751 1.0083102 1.0027701 - 33800 0.3283985 0 0.01947613 1.0193906 1.0027701 - 33900 0.31959761 0 0.021128147 1.0027701 1.0027701 - 34000 0.33897984 0 0.015270986 1.0027701 1.0083102 - 34100 0.32392267 0 0.0020130852 1.0083102 1.0027701 - 34200 0.33084514 0 -0.024316708 1.0027701 1.0027701 - 34300 0.3342259 0 -0.0059047764 1.0138504 1.0027701 - 34400 0.33385098 0 0.0063818721 1.0027701 1.0027701 - 34500 0.33255603 0 -0.01023837 1.0027701 1.0083102 - 34600 0.34766173 0 0.0056703013 1.0083102 1.0027701 - 34700 0.339822 0 0.0061648559 1.0083102 1.0027701 - 34800 0.33902329 0 0.030037037 1.0027701 1.0083102 - 34900 0.3216153 0 0.027996689 1.0027701 1.0027701 - 35000 0.32701056 0 0.024778517 1.0083102 1.0027701 - 35100 0.3124942 0 0.011316548 1.0027701 1.0027701 - 35200 0.34486416 0 0.011670127 1.0027701 1.0027701 - 35300 0.33275353 0 0.020491246 1.0027701 1.0027701 - 35400 0.33618763 0 0.014678874 1.0083102 1.0027701 - 35500 0.32352282 0 -0.018568683 1.0027701 1.0027701 - 35600 0.32617903 0 -0.012796912 1.0083102 1.0027701 - 35700 0.32378048 0 -0.021318585 1.0027701 1.0083102 - 35800 0.3371086 0 -0.0023678632 1.0027701 1.0083102 - 35900 0.33818476 0 0.011197742 1.0083102 1.0027701 - 36000 0.35142144 0 0.022520935 1.0083102 1.0027701 - 36100 0.35147297 0 0.020277852 1.0083102 1.0027701 - 36200 0.33489465 0 0.014564878 1.0193906 1.0027701 - 36300 0.33841515 0 0.036439962 1.0027701 1.0027701 - 36400 0.32301096 0 0.019966746 1.0027701 1.0027701 - 36500 0.35612028 0 0.036509556 1.0027701 1.0027701 - 36600 0.33841597 0 -0.0042180605 1.0083102 1.0083102 - 36700 0.34477654 0 -0.0052770853 1.0193906 1.0083102 - 36800 0.33804317 0 -0.013751733 1.0027701 1.0027701 - 36900 0.35003816 0 -0.0021184393 1.0027701 1.0027701 - 37000 0.32965041 0 -0.020900951 1.0083102 1.0027701 - 37100 0.34653095 0 -0.013667977 1.0027701 1.0027701 - 37200 0.35019871 0 -0.0071740923 1.0027701 1.0027701 - 37300 0.34859745 0 0.02006041 1.0138504 1.0027701 - 37400 0.35739859 0 0.020892822 1.0083102 1.0027701 - 37500 0.34128859 0 0.041072111 1.0083102 1.0083102 - 37600 0.33781905 0 0.023376738 1.0083102 1.0083102 - 37700 0.32961874 0 0.030953741 1.0138504 1.0027701 - 37800 0.343987 0 0.029579795 1.0083102 1.0027701 - 37900 0.33610448 0 0.036836828 1.0138504 1.0027701 - 38000 0.32757228 0 0.020902031 1.0027701 1.0027701 - 38100 0.32735808 0 0.019544751 1.0138504 1.0083102 - 38200 0.35646953 0 0.044607528 1.0027701 1.0083102 - 38300 0.32509773 0 0.03610738 1.0138504 1.0027701 - 38400 0.32111741 0 0.034474043 1.0083102 1.0083102 - 38500 0.30590608 0 0.053461212 1.0083102 1.0027701 - 38600 0.32322402 0 0.053453832 1.0138504 1.0083102 - 38700 0.33843057 0 0.076264534 1.0027701 1.0027701 - 38800 0.31350741 0 0.064733869 1.0083102 1.0027701 - 38900 0.31943061 0 0.067836769 1.0083102 1.0027701 - 39000 0.33775583 0 0.0788316 1.0083102 1.0083102 - 39100 0.34256036 0 0.075874935 1.0027701 1.0027701 - 39200 0.33128527 0 0.071610976 1.0193906 1.0027701 - 39300 0.34519653 0 0.046257301 1.0083102 1.0083102 - 39400 0.34351844 0 0.052422917 1.0027701 1.0027701 - 39500 0.35716037 0 0.048916058 1.0083102 1.0027701 - 39600 0.34000737 0 0.016149089 1.0083102 1.0027701 - 39700 0.34587892 0 0.021619621 1.0083102 1.0083102 - 39800 0.34878036 0 0.0092881327 1.0083102 1.0027701 - 39900 0.35225411 0 -0.011341599 1.0083102 1.0027701 - 40000 0.36309266 0 0.0050869295 1.0304709 1.0027701 -Loop time of 1.30389 on 2 procs for 40000 steps with 361 atoms - -Performance: 13252650.572 tau/day, 30677.432 timesteps/s -97.6% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.041365 | 0.041785 | 0.042204 | 0.2 | 3.20 -Bond | 0.35501 | 0.37082 | 0.38664 | 2.6 | 28.44 -Neigh | 0.30901 | 0.31013 | 0.31125 | 0.2 | 23.78 -Comm | 0.12939 | 0.15871 | 0.18803 | 7.4 | 12.17 -Output | 0.00489 | 0.005671 | 0.0064521 | 1.0 | 0.43 -Modify | 0.28208 | 0.28362 | 0.28516 | 0.3 | 21.75 -Other | | 0.1332 | | | 10.21 - -Nlocal: 180.5 ave 181 max 180 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 52.5 ave 53 max 52 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 2 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 31.0249 -Neighbor list builds = 3079 -Dangerous builds = 0 -Total wall time: 0:00:01 diff --git a/examples/balance/log.27Nov18.balance.bond.slow.g++.4 b/examples/balance/log.27Nov18.balance.bond.slow.g++.4 deleted file mode 100644 index c799657e53..0000000000 --- a/examples/balance/log.27Nov18.balance.bond.slow.g++.4 +++ /dev/null @@ -1,541 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 2d circle of particles inside a box with LJ walls - -variable b index 0 - -variable x index 50 -variable y index 20 -variable d index 20 - -# careful not to slam into wall too hard - -variable v index 0.3 -variable w index 0.08 - -units lj -dimension 2 -atom_style bond -boundary f f p - -lattice hex 0.85 -Lattice spacing in x,y,z = 1.16553 2.01877 1.16553 -region box block 0 $x 0 $y -0.5 0.5 -region box block 0 50 0 $y -0.5 0.5 -region box block 0 50 0 20 -0.5 0.5 -create_box 1 box bond/types 1 extra/bond/per/atom 6 -Created orthogonal box = (0 0 -0.582767) to (58.2767 40.3753 0.582767) - 2 by 2 by 1 MPI processor grid -region circle sphere $(v_d/2+1) $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) -region circle sphere 11 $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) -region circle sphere 11 6.7735026918962581988 0.0 $(v_d/2) -region circle sphere 11 6.7735026918962581988 0.0 10 -create_atoms 1 region circle -Created 361 atoms - Time spent = 0.000665188 secs -mass 1 1.0 - -velocity all create 0.5 87287 loop geom -velocity all set $v $w 0 sum yes -velocity all set 0.3 $w 0 sum yes -velocity all set 0.3 0.08 0 sum yes - -pair_style lj/cut 2.5 -pair_coeff 1 1 10.0 1.0 2.5 - -bond_style harmonic -bond_coeff 1 10.0 1.2 - -create_bonds many all all 1 1.0 1.5 -Neighbor list info ... - update every 1 steps, delay 10 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 = 42 29 1 - 2 neighbor lists, perpetual/occasional/extra = 1 1 0 - (1) command create_bonds, occasional - attributes: full, newton on - pair build: full/bin - stencil: full/bin/2d - bin: standard - (2) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Added 1014 bonds, new total = 1014 - 6 = max # of 1-2 neighbors - 30 = max # of 1-3 neighbors - 180 = max # of 1-4 neighbors - 36 = max # of special neighbors - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 1 all nve - -fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi $x 1 1 2.5 -fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi 50 1 1 2.5 -fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi $y 1 1 2.5 -fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi 20 1 1 2.5 - -comm_style tiled -fix 10 all balance 50 0.9 rcb - -#compute 1 all property/atom proc -#variable p atom (c_1%10)+1 -#dump 2 all custom 50 tmp.dump id v_p x y z - -#dump 3 all image 200 image.*.jpg v_p type bond atom 0.25 # adiam 1.0 view 0 0 zoom 1.8 subbox yes 0.02 -#variable colors string # "red green blue yellow white # purple pink orange lime gray" -#dump_modify 3 pad 5 amap 0 10 sa 1 10 ${colors} - -thermo_style custom step temp epair press f_10[3] f_10 -thermo 100 - -run 40000 -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 = 42 29 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 7.02 | 7.048 | 7.096 Mbytes -Step Temp E_pair Press f_10[3] f_10 - 0 0.57437856 0 0.26099453 3.2354571 1.0526316 - 100 0.29756515 0 0.10149401 1.0193906 1.0083102 - 200 0.35394813 0 0.075159099 1.0304709 1.0193906 - 300 0.39245849 0 0.033002384 1.0083102 1.0193906 - 400 0.34078347 0 -0.020825841 1.0304709 1.0083102 - 500 0.35201095 0 -0.062637506 1.0193906 1.0083102 - 600 0.34014717 0 -0.11122965 1.0415512 1.0083102 - 700 0.3323524 0 -0.11598015 1.0193906 1.0083102 - 800 0.35116047 0 -0.096162395 1.0193906 1.0193906 - 900 0.35695352 0 -0.01385176 1.0526316 1.0193906 - 1000 0.36986539 0 0.056772858 1.0083102 1.0083102 - 1100 0.34584644 0 0.084941323 1.0304709 1.0083102 - 1200 0.31921435 0 0.10545078 1.0415512 1.0083102 - 1300 0.32952819 0 0.124902 1.0083102 1.0193906 - 1400 0.34497365 0 0.12662081 1.0193906 1.0083102 - 1500 0.33429243 0 0.096230972 1.0193906 1.0193906 - 1600 0.33765387 0 0.025800542 1.0304709 1.0083102 - 1700 0.35134464 0 -0.04422593 1.0415512 1.0083102 - 1800 0.35003859 0 -0.096745576 1.0304709 1.0083102 - 1900 0.33839618 0 -0.095465943 1.0193906 1.0083102 - 2000 0.33732078 0 -0.094652802 1.0083102 1.0083102 - 2100 0.34552238 0 -0.076729261 1.0304709 1.0083102 - 2200 0.34893142 0 -0.036853228 1.0304709 1.0083102 - 2300 0.35379341 0 0.021124847 1.0304709 1.0193906 - 2400 0.34829744 0 0.09230184 1.0304709 1.0083102 - 2500 0.33038141 0 0.1399855 1.0193906 1.0193906 - 2600 0.30983019 0 0.12754742 1.0083102 1.0083102 - 2700 0.32992561 0 0.10485138 1.0415512 1.0083102 - 2800 0.34604747 0 0.066174138 1.0083102 1.0083102 - 2900 0.3444791 0 0.036590652 1.0193906 1.0193906 - 3000 0.34721342 0 -0.023793368 1.0193906 1.0193906 - 3100 0.33404314 0 -0.08374223 1.0415512 1.0083102 - 3200 0.33019355 0 -0.12715599 1.0083102 1.0304709 - 3300 0.33515177 0 -0.12217394 1.0193906 1.0083102 - 3400 0.33628481 0 -0.070877624 1.0193906 1.0083102 - 3500 0.34257038 0 -0.021612062 1.0304709 1.0083102 - 3600 0.32838009 0 0.030131228 1.0083102 1.0083102 - 3700 0.34462142 0 0.074586378 1.0526316 1.0193906 - 3800 0.30891825 0 0.10605673 1.0304709 1.0083102 - 3900 0.33847951 0 0.13956139 1.0083102 1.0083102 - 4000 0.32952079 0 0.12688129 1.0193906 1.0304709 - 4100 0.32646772 0 0.081089042 1.0304709 1.0193906 - 4200 0.35399503 0 0.013422873 1.0083102 1.0083102 - 4300 0.33154914 0 -0.050919508 1.0193906 1.0193906 - 4400 0.34113556 0 -0.083171 1.0304709 1.0083102 - 4500 0.32651708 0 -0.1063133 1.0304709 1.0083102 - 4600 0.34359609 0 -0.1076395 1.0083102 1.0083102 - 4700 0.34973537 0 -0.088231606 1.0415512 1.0083102 - 4800 0.35198515 0 -0.020901044 1.0415512 1.0083102 - 4900 0.35187284 0 0.043645941 1.0415512 1.0083102 - 5000 0.34887336 0 0.095698609 1.0193906 1.0083102 - 5100 0.30308163 0 0.11649328 1.0193906 1.0083102 - 5200 0.32401285 0 0.12072411 1.0193906 1.0083102 - 5300 0.33025072 0 0.10933161 1.0193906 1.0083102 - 5400 0.33288012 0 0.078356448 1.0083102 1.0193906 - 5500 0.35142492 0 0.036958063 1.0193906 1.0083102 - 5600 0.35125368 0 -0.041371343 1.0304709 1.0083102 - 5700 0.34547744 0 -0.096450846 1.0637119 1.0083102 - 5800 0.30939887 0 -0.12356656 1.0083102 1.0193906 - 5900 0.32315628 0 -0.11338676 1.0193906 1.0193906 - 6000 0.34117485 0 -0.066198961 1.0193906 1.0083102 - 6100 0.35298043 0 -0.016172816 1.0304709 1.0193906 - 6200 0.35130653 0 0.027660468 1.0415512 1.0083102 - 6300 0.35398766 0 0.087221238 1.0083102 1.0083102 - 6400 0.30963379 0 0.11990957 1.0415512 1.0083102 - 6500 0.3174541 0 0.14103528 1.0193906 1.0193906 - 6600 0.31989791 0 0.11575506 1.0304709 1.0193906 - 6700 0.33811477 0 0.060747353 1.0415512 1.0193906 - 6800 0.3424043 0 0.010357152 1.0193906 1.0083102 - 6900 0.34804319 0 -0.042621786 1.0193906 1.0083102 - 7000 0.35357865 0 -0.067248959 1.0083102 1.0083102 - 7100 0.33556885 0 -0.10983726 1.0193906 1.0083102 - 7200 0.33531101 0 -0.112179 1.0304709 1.0083102 - 7300 0.35742607 0 -0.078405267 1.0304709 1.0193906 - 7400 0.34577559 0 -0.01985432 1.0193906 1.0083102 - 7500 0.3498641 0 0.052289439 1.0526316 1.0083102 - 7600 0.33773715 0 0.092939035 1.0083102 1.0193906 - 7700 0.33093497 0 0.11924405 1.0304709 1.0083102 - 7800 0.31435814 0 0.12701724 1.0083102 1.0304709 - 7900 0.33132217 0 0.10793075 1.0083102 1.0083102 - 8000 0.33451798 0 0.077993125 1.0304709 1.0193906 - 8100 0.35188371 0 0.019929977 1.0193906 1.0083102 - 8200 0.33645742 0 -0.039302079 1.0193906 1.0193906 - 8300 0.3415632 0 -0.098067982 1.0193906 1.0083102 - 8400 0.30619282 0 -0.12952879 1.0304709 1.0193906 - 8500 0.34446484 0 -0.098084709 1.0083102 1.0083102 - 8600 0.33761673 0 -0.07069818 1.0193906 1.0083102 - 8700 0.34495452 0 -0.022458056 1.0193906 1.0083102 - 8800 0.33502983 0 0.027742411 1.0193906 1.0083102 - 8900 0.35418591 0 0.092390134 1.0083102 1.0193906 - 9000 0.31648387 0 0.12467398 1.0193906 1.0083102 - 9100 0.33994825 0 0.14460327 1.0193906 1.0083102 - 9200 0.33822571 0 0.11273284 1.0193906 1.0083102 - 9300 0.33260773 0 0.060063671 1.0083102 1.0193906 - 9400 0.36140305 0 0.021427642 1.0193906 1.0083102 - 9500 0.34273562 0 -0.034064202 1.0193906 1.0083102 - 9600 0.33867054 0 -0.089076906 1.0193906 1.0083102 - 9700 0.32088235 0 -0.12027075 1.0193906 1.0083102 - 9800 0.3320823 0 -0.11602794 1.0415512 1.0083102 - 9900 0.33916442 0 -0.080281044 1.0083102 1.0083102 - 10000 0.34852268 0 -0.01000914 1.0193906 1.0083102 - 10100 0.32955942 0 0.04258493 1.0083102 1.0083102 - 10200 0.34487898 0 0.086971308 1.0304709 1.0083102 - 10300 0.32325593 0 0.11558149 1.0304709 1.0193906 - 10400 0.30927871 0 0.12239437 1.0083102 1.0083102 - 10500 0.33176799 0 0.12285937 1.0193906 1.0083102 - 10600 0.35120027 0 0.084897432 1.0415512 1.0083102 - 10700 0.33129697 0 0.0053089279 1.0193906 1.0193906 - 10800 0.36028769 0 -0.04280715 1.0193906 1.0083102 - 10900 0.35552287 0 -0.084955999 1.0193906 1.0193906 - 11000 0.3406024 0 -0.096554577 1.0083102 1.0083102 - 11100 0.33041202 0 -0.10703492 1.0304709 1.0193906 - 11200 0.32442686 0 -0.084328121 1.0304709 1.0193906 - 11300 0.35952468 0 -0.020191965 1.0304709 1.0083102 - 11400 0.34610624 0 0.03440148 1.0193906 1.0193906 - 11500 0.3415612 0 0.1041929 1.0193906 1.0083102 - 11600 0.34040042 0 0.13215705 1.0304709 1.0083102 - 11700 0.33555094 0 0.12738686 1.0415512 1.0193906 - 11800 0.3458647 0 0.10963398 1.0083102 1.0193906 - 11900 0.33836678 0 0.067253864 1.0193906 1.0193906 - 12000 0.34853314 0 0.03201448 1.0193906 1.0083102 - 12100 0.34600048 0 -0.034833402 1.0304709 1.0193906 - 12200 0.33145631 0 -0.09865675 1.0193906 1.0193906 - 12300 0.32848884 0 -0.1248489 1.0193906 1.0083102 - 12400 0.3321344 0 -0.11266575 1.0083102 1.0083102 - 12500 0.32622305 0 -0.061634993 1.0304709 1.0083102 - 12600 0.36213537 0 -0.0090593315 1.0526316 1.0083102 - 12700 0.34673866 0 0.036734645 1.0193906 1.0083102 - 12800 0.34606618 0 0.086267678 1.0193906 1.0083102 - 12900 0.34271431 0 0.12415522 1.0193906 1.0083102 - 13000 0.31993287 0 0.13879926 1.0193906 1.0193906 - 13100 0.3422918 0 0.11978905 1.0083102 1.0083102 - 13200 0.33055236 0 0.062620483 1.0083102 1.0083102 - 13300 0.34652207 0 0.0043833459 1.0304709 1.0083102 - 13400 0.33574661 0 -0.04691024 1.0304709 1.0083102 - 13500 0.33940837 0 -0.074241604 1.0304709 1.0083102 - 13600 0.32093414 0 -0.1078027 1.0193906 1.0083102 - 13700 0.34336597 0 -0.10544097 1.0193906 1.0083102 - 13800 0.35806461 0 -0.072531559 1.0193906 1.0083102 - 13900 0.35209713 0 -0.018851408 1.0193906 1.0083102 - 14000 0.35702629 0 0.061046366 1.0083102 1.0083102 - 14100 0.33234093 0 0.094086465 1.0083102 1.0083102 - 14200 0.3459466 0 0.12186656 1.0193906 1.0193906 - 14300 0.3327428 0 0.11396572 1.0193906 1.0083102 - 14400 0.32409443 0 0.10658903 1.0193906 1.0193906 - 14500 0.35022184 0 0.083558031 1.0083102 1.0083102 - 14600 0.34823843 0 0.024605569 1.0083102 1.0193906 - 14700 0.35298973 0 -0.040418888 1.0193906 1.0083102 - 14800 0.33679845 0 -0.10067728 1.0193906 1.0083102 - 14900 0.32790966 0 -0.10925568 1.0193906 1.0193906 - 15000 0.34208495 0 -0.09568004 1.0193906 1.0083102 - 15100 0.33647529 0 -0.055652929 1.0083102 1.0083102 - 15200 0.35328398 0 -0.020236536 1.0415512 1.0193906 - 15300 0.34252669 0 0.026434179 1.0304709 1.0083102 - 15400 0.34409435 0 0.094410599 1.0304709 1.0083102 - 15500 0.32288994 0 0.12034455 1.0304709 1.0193906 - 15600 0.32109689 0 0.13645185 1.0193906 1.0083102 - 15700 0.33681572 0 0.098607746 1.0415512 1.0193906 - 15800 0.33635195 0 0.05570715 1.0193906 1.0083102 - 15900 0.34289757 0 0.013849092 1.0304709 1.0083102 - 16000 0.34225547 0 -0.035597548 1.0304709 1.0083102 - 16100 0.33660991 0 -0.076931881 1.0193906 1.0193906 - 16200 0.32802152 0 -0.12765884 1.0083102 1.0193906 - 16300 0.3469374 0 -0.10785455 1.0083102 1.0083102 - 16400 0.34053641 0 -0.070259853 1.0193906 1.0083102 - 16500 0.34610591 0 -0.014315306 1.0193906 1.0193906 - 16600 0.35109001 0 0.041251169 1.0304709 1.0083102 - 16700 0.34336905 0 0.077996627 1.0193906 1.0083102 - 16800 0.33277414 0 0.11053634 1.0083102 1.0083102 - 16900 0.32183338 0 0.11680626 1.0193906 1.0083102 - 17000 0.34044352 0 0.10806555 1.0193906 1.0083102 - 17100 0.32967873 0 0.067759786 1.0193906 1.0193906 - 17200 0.36172278 0 -0.0048631904 1.0304709 1.0083102 - 17300 0.35619435 0 -0.04215545 1.0193906 1.0083102 - 17400 0.34540936 0 -0.093994174 1.0193906 1.0083102 - 17500 0.33193585 0 -0.098831315 1.0083102 1.0193906 - 17600 0.3544756 0 -0.085660403 1.0193906 1.0083102 - 17700 0.34505209 0 -0.069640515 1.0304709 1.0193906 - 17800 0.36291124 0 -0.0063088133 1.0083102 1.0193906 - 17900 0.34255705 0 0.046794555 1.0304709 1.0193906 - 18000 0.34163238 0 0.11767705 1.0193906 1.0193906 - 18100 0.3466445 0 0.1351712 1.0415512 1.0193906 - 18200 0.33037668 0 0.12703659 1.0083102 1.0083102 - 18300 0.33677404 0 0.10956306 1.0083102 1.0304709 - 18400 0.34978954 0 0.087193072 1.0193906 1.0193906 - 18500 0.33354363 0 0.051095814 1.0526316 1.0193906 - 18600 0.34651729 0 0.0056245561 1.0304709 1.0193906 - 18700 0.32622232 0 -0.047319269 1.0083102 1.0193906 - 18800 0.32978847 0 -0.054929416 1.0304709 1.0193906 - 18900 0.34192451 0 -0.037252471 1.0193906 1.0083102 - 19000 0.34061294 0 -0.001167235 1.0083102 1.0083102 - 19100 0.34194478 0 0.016945224 1.0526316 1.0193906 - 19200 0.33321765 0 0.050665354 1.0526316 1.0083102 - 19300 0.33197783 0 0.080470585 1.0193906 1.0083102 - 19400 0.33284715 0 0.12423599 1.0304709 1.0304709 - 19500 0.33867856 0 0.12689524 1.0083102 1.0083102 - 19600 0.36092786 0 0.11417704 1.0193906 1.0083102 - 19700 0.34270183 0 0.069038291 1.0415512 1.0083102 - 19800 0.34880695 0 0.042483681 1.0193906 1.0083102 - 19900 0.33903644 0 0.034788638 1.0083102 1.0193906 - 20000 0.32590125 0 0.011383785 1.0193906 1.0083102 - 20100 0.30358859 0 0.0030743554 1.0526316 1.0193906 - 20200 0.31830224 0 0.017637826 1.0193906 1.0193906 - 20300 0.34195438 0 0.072811099 1.0304709 1.0193906 - 20400 0.31249563 0 0.10063541 1.0415512 1.0083102 - 20500 0.31544938 0 0.1405794 1.0083102 1.0083102 - 20600 0.30071644 0 0.12763486 1.0193906 1.0193906 - 20700 0.2890265 0 0.1136651 1.0083102 1.0083102 - 20800 0.28962296 0 0.094481978 1.0193906 1.0083102 - 20900 0.29447212 0 0.0967165 1.0193906 1.0193906 - 21000 0.31159961 0 0.067307231 1.0083102 1.0083102 - 21100 0.30490648 0 0.017689358 1.0083102 1.0304709 - 21200 0.30687262 0 -0.016055512 1.0193906 1.0193906 - 21300 0.30083286 0 -0.0014988997 1.0193906 1.0083102 - 21400 0.32070426 0 0.015960302 1.0083102 1.0083102 - 21500 0.31439311 0 0.038170385 1.0304709 1.0083102 - 21600 0.32617832 0 0.043263788 1.0083102 1.0083102 - 21700 0.35151793 0 0.066302727 1.0193906 1.0083102 - 21800 0.35912885 0 0.070099103 1.0193906 1.0083102 - 21900 0.32451958 0 0.068935768 1.0304709 1.0193906 - 22000 0.35219298 0 0.067161227 1.0193906 1.0193906 - 22100 0.34857705 0 0.032731746 1.0193906 1.0083102 - 22200 0.34750227 0 0.0056917695 1.0193906 1.0083102 - 22300 0.34766017 0 -0.0027090483 1.0193906 1.0083102 - 22400 0.33426062 0 -0.023196063 1.0304709 1.0083102 - 22500 0.34174625 0 -0.025019717 1.0083102 1.0083102 - 22600 0.3356145 0 -0.029707418 1.0304709 1.0193906 - 22700 0.3362653 0 -0.035815733 1.0193906 1.0193906 - 22800 0.33973405 0 -0.0024705835 1.0193906 1.0083102 - 22900 0.33813085 0 0.0077527467 1.0083102 1.0193906 - 23000 0.33339981 0 0.028340744 1.0193906 1.0083102 - 23100 0.34079832 0 0.018521302 1.0415512 1.0193906 - 23200 0.33074548 0 0.032378405 1.0193906 1.0083102 - 23300 0.32965664 0 0.035989589 1.0193906 1.0083102 - 23400 0.30927749 0 0.024581106 1.0193906 1.0083102 - 23500 0.32890632 0 0.01092479 1.0304709 1.0193906 - 23600 0.34137438 0 0.0094839745 1.0193906 1.0193906 - 23700 0.34512638 0 -0.012392771 1.0304709 1.0193906 - 23800 0.31781354 0 -0.012908449 1.0193906 1.0083102 - 23900 0.32405513 0 -0.015018071 1.0415512 1.0193906 - 24000 0.33549728 0 -0.012812915 1.0193906 1.0193906 - 24100 0.31368736 0 -0.020818372 1.0083102 1.0083102 - 24200 0.33533836 0 0.0056121057 1.0304709 1.0193906 - 24300 0.32530627 0 0.018183931 1.0415512 1.0083102 - 24400 0.31930662 0 0.027446878 1.0083102 1.0193906 - 24500 0.33540302 0 0.040307455 1.0304709 1.0083102 - 24600 0.34020431 0 0.027403921 1.0083102 1.0083102 - 24700 0.3291814 0 0.01204865 1.0193906 1.0083102 - 24800 0.31552604 0 0.019654111 1.0083102 1.0193906 - 24900 0.34727253 0 0.01670543 1.0193906 1.0083102 - 25000 0.35120105 0 0.0038617562 1.0193906 1.0083102 - 25100 0.32706871 0 -0.021196623 1.0415512 1.0193906 - 25200 0.32915282 0 -0.017146508 1.0083102 1.0193906 - 25300 0.32577518 0 -0.01312495 1.0193906 1.0083102 - 25400 0.33286855 0 0.0014726193 1.0415512 1.0193906 - 25500 0.33002601 0 0.0080974022 1.0193906 1.0083102 - 25600 0.34127655 0 0.014296091 1.0526316 1.0083102 - 25700 0.34048065 0 0.022513032 1.0193906 1.0083102 - 25800 0.33029079 0 0.038733531 1.0526316 1.0083102 - 25900 0.33031324 0 0.026156982 1.0083102 1.0193906 - 26000 0.32967371 0 0.028727383 1.0083102 1.0193906 - 26100 0.33775718 0 0.015607478 1.0083102 1.0193906 - 26200 0.35097144 0 0.012291703 1.0083102 1.0083102 - 26300 0.34303792 0 0.00094823191 1.0083102 1.0193906 - 26400 0.33632665 0 -0.0026904889 1.0193906 1.0193906 - 26500 0.33580127 0 -0.0074168555 1.0193906 1.0193906 - 26600 0.33063188 0 -0.020378601 1.0083102 1.0193906 - 26700 0.33581846 0 -0.00084397268 1.0083102 1.0193906 - 26800 0.32998532 0 0.015932208 1.0304709 1.0193906 - 26900 0.33825444 0 0.010428603 1.0304709 1.0083102 - 27000 0.32081518 0 0.019818223 1.0415512 1.0193906 - 27100 0.31448098 0 0.020093416 1.0193906 1.0083102 - 27200 0.32643684 0 0.021934917 1.0193906 1.0083102 - 27300 0.33289466 0 0.023713072 1.0415512 1.0083102 - 27400 0.32310744 0 0.024110945 1.0415512 1.0083102 - 27500 0.33115619 0 0.0025776713 1.0304709 1.0193906 - 27600 0.33295887 0 -0.010710764 1.0193906 1.0193906 - 27700 0.32968876 0 -0.0064595905 1.0193906 1.0193906 - 27800 0.34064581 0 -0.0086519116 1.0193906 1.0083102 - 27900 0.33559187 0 -0.0055753593 1.0526316 1.0083102 - 28000 0.32300727 0 -0.0004153384 1.0304709 1.0083102 - 28100 0.32147461 0 -0.0058543412 1.0083102 1.0083102 - 28200 0.35532383 0 0.013646951 1.0304709 1.0083102 - 28300 0.31507942 0 0.026532255 1.0415512 1.0193906 - 28400 0.32711006 0 0.033214981 1.0193906 1.0083102 - 28500 0.34472462 0 0.028050837 1.0304709 1.0193906 - 28600 0.33708059 0 0.019115676 1.0083102 1.0083102 - 28700 0.34478087 0 0.023743689 1.0304709 1.0083102 - 28800 0.34546686 0 0.0081772997 1.0304709 1.0083102 - 28900 0.34004886 0 0.017771865 1.0415512 1.0193906 - 29000 0.33604232 0 -0.010505671 1.0304709 1.0193906 - 29100 0.33541374 0 -0.016273261 1.0083102 1.0083102 - 29200 0.34347489 0 -0.010002306 1.0083102 1.0083102 - 29300 0.34083904 0 0.0089701784 1.0193906 1.0193906 - 29400 0.34846892 0 0.020765104 1.0083102 1.0083102 - 29500 0.3416255 0 0.022650856 1.0304709 1.0083102 - 29600 0.33725496 0 0.020693083 1.0193906 1.0193906 - 29700 0.34480638 0 0.024317128 1.0304709 1.0083102 - 29800 0.31459471 0 0.023097895 1.0083102 1.0083102 - 29900 0.33014448 0 0.03114046 1.0193906 1.0083102 - 30000 0.33741498 0 0.015624314 1.0083102 1.0193906 - 30100 0.32598657 0 -0.0018860541 1.0415512 1.0193906 - 30200 0.34855815 0 0.0017983372 1.0083102 1.0083102 - 30300 0.33375921 0 0.0010991235 1.0083102 1.0193906 - 30400 0.35008944 0 -0.0027316177 1.0193906 1.0083102 - 30500 0.33279729 0 -0.0035788551 1.0193906 1.0193906 - 30600 0.33868746 0 -0.0016249482 1.0083102 1.0193906 - 30700 0.33597034 0 -0.0014524001 1.0193906 1.0193906 - 30800 0.3227257 0 0.016353457 1.0193906 1.0193906 - 30900 0.32676516 0 0.027396654 1.0193906 1.0083102 - 31000 0.34083982 0 0.031606413 1.0415512 1.0193906 - 31100 0.32165238 0 0.013583368 1.0083102 1.0083102 - 31200 0.3428492 0 0.020486611 1.0304709 1.0083102 - 31300 0.32372541 0 0.01215566 1.0083102 1.0083102 - 31400 0.32734692 0 0.016229397 1.0083102 1.0083102 - 31500 0.33089262 0 0.0060426618 1.0083102 1.0083102 - 31600 0.34273493 0 -0.013456537 1.0083102 1.0193906 - 31700 0.32723905 0 -0.019243766 1.0193906 1.0083102 - 31800 0.33636488 0 0.0027814902 1.0083102 1.0083102 - 31900 0.32834805 0 0.00706877 1.0083102 1.0193906 - 32000 0.33995148 0 0.0018383309 1.0193906 1.0193906 - 32100 0.33412282 0 0.0076455933 1.0083102 1.0083102 - 32200 0.34334884 0 0.023586129 1.0083102 1.0083102 - 32300 0.32778925 0 0.020564321 1.0193906 1.0083102 - 32400 0.33163443 0 0.038878463 1.0193906 1.0083102 - 32500 0.32290345 0 0.022247461 1.0193906 1.0083102 - 32600 0.34113954 0 0.010966365 1.0304709 1.0193906 - 32700 0.33390633 0 0.0037777555 1.0193906 1.0083102 - 32800 0.34385341 0 0.010556575 1.0193906 1.0193906 - 32900 0.32137047 0 0.00022027143 1.0304709 1.0193906 - 33000 0.32079172 0 -0.017261272 1.0193906 1.0083102 - 33100 0.33570882 0 -0.0051942206 1.0083102 1.0083102 - 33200 0.34320894 0 -0.011515281 1.0193906 1.0083102 - 33300 0.32794746 0 -0.0018153673 1.0083102 1.0193906 - 33400 0.33060982 0 0.027118146 1.0193906 1.0083102 - 33500 0.33641809 0 0.02143035 1.0083102 1.0193906 - 33600 0.33643061 0 0.020833068 1.0304709 1.0083102 - 33700 0.3485949 0 0.030918751 1.0193906 1.0083102 - 33800 0.3283985 0 0.01947613 1.0193906 1.0083102 - 33900 0.31959761 0 0.021128147 1.0083102 1.0304709 - 34000 0.33897984 0 0.015270986 1.0193906 1.0083102 - 34100 0.32392267 0 0.0020130852 1.0304709 1.0193906 - 34200 0.33084514 0 -0.024316708 1.0193906 1.0193906 - 34300 0.3342259 0 -0.0059047764 1.0193906 1.0304709 - 34400 0.33385098 0 0.0063818721 1.0193906 1.0083102 - 34500 0.33255603 0 -0.01023837 1.0083102 1.0304709 - 34600 0.34766173 0 0.0056703013 1.0193906 1.0083102 - 34700 0.339822 0 0.0061648559 1.0193906 1.0193906 - 34800 0.33902329 0 0.030037037 1.0415512 1.0193906 - 34900 0.3216153 0 0.027996689 1.0083102 1.0083102 - 35000 0.32701056 0 0.024778517 1.0193906 1.0083102 - 35100 0.3124942 0 0.011316548 1.0304709 1.0193906 - 35200 0.34486416 0 0.011670127 1.0083102 1.0083102 - 35300 0.33275353 0 0.020491246 1.0193906 1.0193906 - 35400 0.33618763 0 0.014678874 1.0083102 1.0083102 - 35500 0.32352282 0 -0.018568683 1.0193906 1.0193906 - 35600 0.32617903 0 -0.012796912 1.0193906 1.0304709 - 35700 0.32378048 0 -0.021318585 1.0193906 1.0193906 - 35800 0.3371086 0 -0.0023678632 1.0193906 1.0193906 - 35900 0.33818476 0 0.011197742 1.0193906 1.0083102 - 36000 0.35142144 0 0.022520935 1.0083102 1.0193906 - 36100 0.35147297 0 0.020277852 1.0193906 1.0083102 - 36200 0.33489465 0 0.014564878 1.0415512 1.0193906 - 36300 0.33841515 0 0.036439962 1.0193906 1.0083102 - 36400 0.32301096 0 0.019966746 1.0304709 1.0083102 - 36500 0.35612028 0 0.036509556 1.0083102 1.0083102 - 36600 0.33841597 0 -0.0042180605 1.0193906 1.0193906 - 36700 0.34477654 0 -0.0052770853 1.0193906 1.0083102 - 36800 0.33804317 0 -0.013751733 1.0083102 1.0083102 - 36900 0.35003816 0 -0.0021184393 1.0083102 1.0083102 - 37000 0.32965041 0 -0.020900951 1.0193906 1.0083102 - 37100 0.34653095 0 -0.013667977 1.0193906 1.0083102 - 37200 0.35019871 0 -0.0071740923 1.0193906 1.0304709 - 37300 0.34859745 0 0.02006041 1.0304709 1.0083102 - 37400 0.35739859 0 0.020892822 1.0304709 1.0083102 - 37500 0.34128859 0 0.041072111 1.0193906 1.0193906 - 37600 0.33781905 0 0.023376738 1.0193906 1.0083102 - 37700 0.32961874 0 0.030953741 1.0193906 1.0083102 - 37800 0.343987 0 0.029579795 1.0083102 1.0083102 - 37900 0.33610448 0 0.036836828 1.0415512 1.0304709 - 38000 0.32757228 0 0.020902031 1.0193906 1.0193906 - 38100 0.32735808 0 0.019544751 1.0193906 1.0083102 - 38200 0.35646953 0 0.044607528 1.0083102 1.0304709 - 38300 0.32509773 0 0.03610738 1.0193906 1.0083102 - 38400 0.32111741 0 0.034474043 1.0193906 1.0193906 - 38500 0.30590608 0 0.053461212 1.0304709 1.0083102 - 38600 0.32322402 0 0.053453832 1.0193906 1.0304709 - 38700 0.33843057 0 0.076264534 1.0083102 1.0193906 - 38800 0.31350741 0 0.064733869 1.0415512 1.0083102 - 38900 0.31943061 0 0.067836769 1.0304709 1.0193906 - 39000 0.33775583 0 0.0788316 1.0193906 1.0193906 - 39100 0.34256036 0 0.075874935 1.0083102 1.0193906 - 39200 0.33128527 0 0.071610976 1.0193906 1.0083102 - 39300 0.34519653 0 0.046257301 1.0193906 1.0083102 - 39400 0.34351844 0 0.052422917 1.0304709 1.0304709 - 39500 0.35716037 0 0.048916058 1.0304709 1.0083102 - 39600 0.34000737 0 0.016149089 1.0304709 1.0083102 - 39700 0.34587892 0 0.021619621 1.0526316 1.0083102 - 39800 0.34878036 0 0.0092881327 1.0083102 1.0193906 - 39900 0.35225411 0 -0.011341599 1.0083102 1.0193906 - 40000 0.36309266 0 0.0050869295 1.0304709 1.0083102 -Loop time of 1.12306 on 4 procs for 40000 steps with 361 atoms - -Performance: 15386559.518 tau/day, 35617.036 timesteps/s -90.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.023094 | 0.023348 | 0.023582 | 0.1 | 2.08 -Bond | 0.17827 | 0.19268 | 0.21984 | 3.7 | 17.16 -Neigh | 0.18144 | 0.18231 | 0.18323 | 0.1 | 16.23 -Comm | 0.23759 | 0.28095 | 0.30794 | 5.0 | 25.02 -Output | 0.0062952 | 0.013342 | 0.034226 | 10.4 | 1.19 -Modify | 0.2379 | 0.24327 | 0.25076 | 0.9 | 21.66 -Other | | 0.1871 | | | 16.66 - -Nlocal: 90.25 ave 91 max 89 min -Histogram: 1 0 0 0 0 1 0 0 0 2 -Nghost: 59.25 ave 61 max 56 min -Histogram: 1 0 0 0 0 0 0 0 2 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 31.0249 -Neighbor list builds = 3079 -Dangerous builds = 0 -Total wall time: 0:00:01 diff --git a/examples/balance/log.27Nov18.balance.clock.dynamic.g++.2 b/examples/balance/log.27Nov18.balance.clock.dynamic.g++.2 deleted file mode 100644 index 781a609bd2..0000000000 --- a/examples/balance/log.27Nov18.balance.clock.dynamic.g++.2 +++ /dev/null @@ -1,227 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 3d Lennard-Jones melt - -units lj -atom_style atomic -processors * 1 1 - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 -region box block 0 10 0 10 0 10 -create_box 3 box -Created orthogonal box = (0 0 0) to (16.796 16.796 16.796) - 2 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 4000 atoms - Time spent = 0.000549078 secs -mass * 1.0 - -region long block 3 6 0 10 0 10 -set region long type 2 - 1400 settings made for type - -velocity all create 1.0 87287 - -pair_style lj/cut 2.5 -pair_coeff * * 1.0 1.0 2.5 -pair_coeff * 2 1.0 1.0 5.0 - -neighbor 0.3 bin -neigh_modify every 2 delay 4 check yes -fix p all property/atom d_WEIGHT -compute p all property/atom d_WEIGHT -fix 0 all balance 50 1.0 shift x 10 1.0 weight time 1.0 weight store WEIGHT -variable maximb equal f_0[1] -variable iter equal f_0[2] -variable prev equal f_0[3] -variable final equal f_0 - -#fix 3 all print 50 "${iter} ${prev} ${final} ${maximb}" - -fix 1 all nve - -#dump id all atom 50 dump.melt -#dump id all custom 50 dump.lammpstrj id type x y z c_p - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -thermo 50 -run 500 -Neighbor list info ... - update every 2 steps, delay 4 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.3 - ghost atom cutoff = 5.3 - binsize = 2.65, bins = 7 7 7 - 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 -Per MPI rank memory allocation (min/avg/max) = 4.562 | 4.753 | 4.944 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137 - 50 0.49578514 -6.1929216 0 -5.4494298 -1.6668039 4738.2137 - 100 0.53275389 -6.2475932 0 -5.4486622 -1.9063885 4738.2137 - 150 0.53316457 -6.2483202 0 -5.4487733 -1.9476162 4738.2137 - 200 0.536665 -6.2530113 0 -5.448215 -1.933468 4738.2137 - 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 4738.2137 - 300 0.55111476 -6.2727642 0 -5.4462987 -2.0384873 4738.2137 - 350 0.55211503 -6.274054 0 -5.4460885 -2.0116976 4738.2137 - 400 0.54638463 -6.2661715 0 -5.4467995 -1.992248 4738.2137 - 450 0.55885307 -6.2852263 0 -5.4471563 -2.0669747 4738.2137 - 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 4738.2137 -Loop time of 3.7099 on 2 procs for 500 steps with 4000 atoms - -Performance: 58222.644 tau/day, 134.775 timesteps/s -99.2% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 2.5145 | 2.5951 | 2.6756 | 5.0 | 69.95 -Neigh | 0.8388 | 0.88634 | 0.93387 | 5.0 | 23.89 -Comm | 0.17027 | 0.20258 | 0.23489 | 7.2 | 5.46 -Output | 0.00029612 | 0.00032723 | 0.00035834 | 0.0 | 0.01 -Modify | 0.016136 | 0.017057 | 0.017979 | 0.7 | 0.46 -Other | | 0.008504 | | | 0.23 - -Nlocal: 2000 ave 2157 max 1843 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 10465.5 ave 10840 max 10091 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 298070 ave 305706 max 290433 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 596139 -Ave neighs/atom = 149.035 -Neighbor list builds = 51 -Dangerous builds = 0 -run 500 -Per MPI rank memory allocation (min/avg/max) = 4.944 | 4.947 | 4.951 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 4738.2137 - 550 0.54137926 -6.2592773 0 -5.4474115 -1.9770236 4738.2137 - 600 0.54022886 -6.2573307 0 -5.44719 -1.9619637 4738.2137 - 650 0.54709009 -6.2678862 0 -5.4474562 -1.9958342 4738.2137 - 700 0.54590044 -6.2656903 0 -5.4470444 -1.9957108 4738.2137 - 750 0.55098488 -6.2724831 0 -5.4462124 -2.0287523 4738.2137 - 800 0.5520987 -6.2739184 0 -5.4459774 -2.0084991 4738.2137 - 850 0.54963958 -6.2702473 0 -5.445994 -1.9740031 4738.2137 - 900 0.54390586 -6.2615476 0 -5.4458927 -1.9400871 4738.2137 - 950 0.54741732 -6.2665755 0 -5.4456548 -1.9466417 4738.2137 - 1000 0.54200867 -6.2591246 0 -5.4463148 -1.8881624 4738.2137 -Loop time of 3.70634 on 2 procs for 500 steps with 4000 atoms - -Performance: 58278.514 tau/day, 134.904 timesteps/s -99.0% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 2.5536 | 2.6173 | 2.6811 | 3.9 | 70.62 -Neigh | 0.82942 | 0.88683 | 0.94424 | 6.1 | 23.93 -Comm | 0.16927 | 0.17474 | 0.1802 | 1.3 | 4.71 -Output | 0.00030422 | 0.00033307 | 0.00036192 | 0.0 | 0.01 -Modify | 0.016714 | 0.017824 | 0.018933 | 0.8 | 0.48 -Other | | 0.009277 | | | 0.25 - -Nlocal: 2000 ave 2136 max 1864 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 10413.5 ave 10877 max 9950 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 300836 ave 312313 max 289358 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 601671 -Ave neighs/atom = 150.418 -Neighbor list builds = 51 -Dangerous builds = 0 -fix 0 all balance 50 1.0 shift x 5 1.0 weight neigh 0.5 weight time 0.66 weight store WEIGHT -run 500 -Per MPI rank memory allocation (min/avg/max) = 4.951 | 5.142 | 5.334 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 1000 0.54200867 -6.2591246 0 -5.4463148 -1.8881624 4738.2137 - 1050 0.54633412 -6.2656384 0 -5.4463421 -1.9012895 4738.2137 - 1100 0.54325667 -6.2612166 0 -5.4465353 -1.8870463 4738.2137 - 1150 0.55057583 -6.2719187 0 -5.4462614 -1.9575881 4738.2137 - 1200 0.53728175 -6.251744 0 -5.4460228 -1.8124097 4738.2137 - 1250 0.54077561 -6.2567544 0 -5.4457938 -1.8418133 4738.2137 - 1300 0.54430333 -6.260995 0 -5.4447442 -1.856351 4738.2137 - 1350 0.55097839 -6.2715909 0 -5.4453299 -1.9014337 4738.2137 - 1400 0.53858139 -6.2526781 0 -5.445008 -1.7965773 4738.2137 - 1450 0.5421844 -6.2574683 0 -5.444395 -1.7901189 4738.2137 - 1500 0.54200617 -6.2571433 0 -5.4443373 -1.8000344 4738.2137 -Loop time of 4.8272 on 2 procs for 500 steps with 4000 atoms - -Performance: 44746.478 tau/day, 103.580 timesteps/s -98.5% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.9951 | 2.6814 | 3.3676 | 41.9 | 55.55 -Neigh | 0.82826 | 0.90961 | 0.99095 | 8.5 | 18.84 -Comm | 0.44043 | 1.2083 | 1.9762 | 69.9 | 25.03 -Output | 0.00034881 | 0.0003655 | 0.00038218 | 0.0 | 0.01 -Modify | 0.016762 | 0.01755 | 0.018337 | 0.6 | 0.36 -Other | | 0.01001 | | | 0.21 - -Nlocal: 2000 ave 2564 max 1436 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 10334 ave 10752 max 9916 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 302958 ave 499873 max 106044 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 605917 -Ave neighs/atom = 151.479 -Neighbor list builds = 51 -Dangerous builds = 0 -run 500 -Per MPI rank memory allocation (min/avg/max) = 4.955 | 5.336 | 5.717 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 1500 0.54200617 -6.2571433 0 -5.4443373 -1.8000344 4738.2137 - 1550 0.53713591 -6.2504068 0 -5.4449044 -1.7647087 4738.2137 - 1600 0.5467956 -6.2646482 0 -5.4446599 -1.8115778 4738.2137 - 1650 0.53806575 -6.2519004 0 -5.4450036 -1.7409135 4738.2137 - 1700 0.5347949 -6.2468958 0 -5.444904 -1.7162322 4738.2137 - 1750 0.53714528 -6.2506529 0 -5.4451365 -1.7340402 4738.2137 - 1800 0.5274989 -6.2358675 0 -5.444817 -1.6874989 4738.2137 - 1850 0.54585906 -6.2629475 0 -5.4443636 -1.7758918 4738.2137 - 1900 0.5301071 -6.2387551 0 -5.4437932 -1.6381903 4738.2137 - 1950 0.54288149 -6.2582818 0 -5.4441632 -1.7367819 4738.2137 - 2000 0.52766162 -6.2348587 0 -5.4435642 -1.5589151 4738.2137 -Loop time of 4.90351 on 2 procs for 500 steps with 4000 atoms - -Performance: 44050.062 tau/day, 101.968 timesteps/s -98.1% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.9937 | 2.6502 | 3.3067 | 40.3 | 54.05 -Neigh | 0.81645 | 0.88655 | 0.95664 | 7.4 | 18.08 -Comm | 0.61197 | 1.3389 | 2.0659 | 62.8 | 27.31 -Output | 0.00036287 | 0.0003773 | 0.00039172 | 0.0 | 0.01 -Modify | 0.016585 | 0.017429 | 0.018274 | 0.6 | 0.36 -Other | | 0.01003 | | | 0.20 - -Nlocal: 2000 ave 2564 max 1436 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 10256 ave 10620 max 9892 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 303988 ave 502064 max 105911 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 607975 -Ave neighs/atom = 151.994 -Neighbor list builds = 51 -Dangerous builds = 0 -Total wall time: 0:00:17 diff --git a/examples/balance/log.27Nov18.balance.clock.dynamic.g++.4 b/examples/balance/log.27Nov18.balance.clock.dynamic.g++.4 deleted file mode 100644 index 94780b14df..0000000000 --- a/examples/balance/log.27Nov18.balance.clock.dynamic.g++.4 +++ /dev/null @@ -1,227 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 3d Lennard-Jones melt - -units lj -atom_style atomic -processors * 1 1 - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 -region box block 0 10 0 10 0 10 -create_box 3 box -Created orthogonal box = (0 0 0) to (16.796 16.796 16.796) - 4 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 4000 atoms - Time spent = 0.000421762 secs -mass * 1.0 - -region long block 3 6 0 10 0 10 -set region long type 2 - 1400 settings made for type - -velocity all create 1.0 87287 - -pair_style lj/cut 2.5 -pair_coeff * * 1.0 1.0 2.5 -pair_coeff * 2 1.0 1.0 5.0 - -neighbor 0.3 bin -neigh_modify every 2 delay 4 check yes -fix p all property/atom d_WEIGHT -compute p all property/atom d_WEIGHT -fix 0 all balance 50 1.0 shift x 10 1.0 weight time 1.0 weight store WEIGHT -variable maximb equal f_0[1] -variable iter equal f_0[2] -variable prev equal f_0[3] -variable final equal f_0 - -#fix 3 all print 50 "${iter} ${prev} ${final} ${maximb}" - -fix 1 all nve - -#dump id all atom 50 dump.melt -#dump id all custom 50 dump.lammpstrj id type x y z c_p - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -thermo 50 -run 500 -Neighbor list info ... - update every 2 steps, delay 4 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.3 - ghost atom cutoff = 5.3 - binsize = 2.65, bins = 7 7 7 - 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 -Per MPI rank memory allocation (min/avg/max) = 3.691 | 4.072 | 4.454 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137 - 50 0.48653399 -6.1788509 0 -5.4492324 -1.6017778 4738.2137 - 100 0.53411175 -6.249885 0 -5.4489177 -1.9317606 4738.2137 - 150 0.53646658 -6.2527206 0 -5.4482219 -1.9689568 4738.2137 - 200 0.54551611 -6.2656326 0 -5.4475631 -2.0042104 4738.2137 - 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 4738.2137 - 300 0.5477618 -6.2678071 0 -5.4463698 -1.997842 4738.2137 - 350 0.55600296 -6.2801497 0 -5.4463538 -2.0394056 4738.2137 - 400 0.53241503 -6.2453665 0 -5.4469436 -1.878594 4738.2137 - 450 0.5439158 -6.2623 0 -5.4466302 -1.9744161 4738.2137 - 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 4738.2137 -Loop time of 2.69458 on 4 procs for 500 steps with 4000 atoms - -Performance: 80160.913 tau/day, 185.558 timesteps/s -94.2% 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.0903 | 1.4509 | 1.7199 | 22.5 | 53.84 -Neigh | 0.31688 | 0.47906 | 0.71852 | 24.2 | 17.78 -Comm | 0.60463 | 0.72402 | 0.84257 | 12.7 | 26.87 -Output | 0.00035119 | 0.00067121 | 0.0015202 | 0.0 | 0.02 -Modify | 0.00811 | 0.010936 | 0.014029 | 2.7 | 0.41 -Other | | 0.02904 | | | 1.08 - -Nlocal: 1000 ave 1504 max 634 min -Histogram: 2 0 0 0 0 0 1 0 0 1 -Nghost: 8759.25 ave 9896 max 8021 min -Histogram: 2 0 0 0 0 1 0 0 0 1 -Neighs: 149308 ave 179946 max 116419 min -Histogram: 1 1 0 0 0 0 0 0 1 1 - -Total # of neighbors = 597231 -Ave neighs/atom = 149.308 -Neighbor list builds = 50 -Dangerous builds = 0 -run 500 -Per MPI rank memory allocation (min/avg/max) = 4.097 | 4.288 | 4.475 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 4738.2137 - 550 0.53879347 -6.2554274 0 -5.4474393 -1.9756834 4738.2137 - 600 0.54275982 -6.2616799 0 -5.4477437 -1.9939993 4738.2137 - 650 0.54526651 -6.265098 0 -5.4474027 -2.0303672 4738.2137 - 700 0.54369381 -6.263201 0 -5.4478642 -1.9921967 4738.2137 - 750 0.54452777 -6.2640839 0 -5.4474964 -1.9658675 4738.2137 - 800 0.55061744 -6.2725556 0 -5.4468359 -2.0100922 4738.2137 - 850 0.55371614 -6.2763992 0 -5.4460326 -2.0065329 4738.2137 - 900 0.54756622 -6.2668303 0 -5.4456863 -1.9796122 4738.2137 - 950 0.54791593 -6.2673161 0 -5.4456477 -1.9598278 4738.2137 - 1000 0.54173198 -6.2586101 0 -5.4462153 -1.9007466 4738.2137 -Loop time of 2.64502 on 4 procs for 500 steps with 4000 atoms - -Performance: 81662.873 tau/day, 189.034 timesteps/s -93.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.1279 | 1.4127 | 1.6268 | 18.0 | 53.41 -Neigh | 0.32225 | 0.49572 | 0.76053 | 26.2 | 18.74 -Comm | 0.64504 | 0.6974 | 0.75498 | 5.7 | 26.37 -Output | 0.00035477 | 0.00062996 | 0.001343 | 0.0 | 0.02 -Modify | 0.0077929 | 0.010538 | 0.013856 | 2.6 | 0.40 -Other | | 0.02803 | | | 1.06 - -Nlocal: 1000 ave 1437 max 597 min -Histogram: 1 1 0 0 0 0 0 1 0 1 -Nghost: 8674 ave 9370 max 8013 min -Histogram: 1 0 1 0 0 0 0 1 0 1 -Neighs: 150170 ave 187030 max 102149 min -Histogram: 1 0 0 0 0 1 0 1 0 1 - -Total # of neighbors = 600678 -Ave neighs/atom = 150.169 -Neighbor list builds = 53 -Dangerous builds = 0 -fix 0 all balance 50 1.0 shift x 5 1.0 weight neigh 0.5 weight time 0.66 weight store WEIGHT -run 500 -Per MPI rank memory allocation (min/avg/max) = 4.08 | 4.269 | 4.458 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 1000 0.54173198 -6.2586101 0 -5.4462153 -1.9007466 4738.2137 - 1050 0.54629742 -6.2657526 0 -5.4465113 -1.945821 4738.2137 - 1100 0.55427881 -6.2781733 0 -5.446963 -2.0021027 4738.2137 - 1150 0.54730654 -6.267257 0 -5.4465025 -1.9420678 4738.2137 - 1200 0.5388281 -6.2547963 0 -5.4467562 -1.890178 4738.2137 - 1250 0.54848768 -6.2694237 0 -5.4468979 -1.9636797 4738.2137 - 1300 0.54134321 -6.2590728 0 -5.447261 -1.9170271 4738.2137 - 1350 0.53564389 -6.2501521 0 -5.4468871 -1.8642306 4738.2137 - 1400 0.53726924 -6.2518379 0 -5.4461355 -1.8544028 4738.2137 - 1450 0.54525935 -6.2632653 0 -5.4455808 -1.9072158 4738.2137 - 1500 0.54223346 -6.2591057 0 -5.4459588 -1.8866984 4738.2137 -Loop time of 2.61342 on 4 procs for 500 steps with 4000 atoms - -Performance: 82650.254 tau/day, 191.320 timesteps/s -93.1% 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.222 | 1.4442 | 1.5812 | 12.3 | 55.26 -Neigh | 0.29672 | 0.48201 | 0.73859 | 27.6 | 18.44 -Comm | 0.59138 | 0.65738 | 0.70906 | 6.5 | 25.15 -Output | 0.00036502 | 0.00091559 | 0.0020845 | 0.0 | 0.04 -Modify | 0.0095406 | 0.012674 | 0.017643 | 2.8 | 0.48 -Other | | 0.01621 | | | 0.62 - -Nlocal: 1000 ave 1446 max 670 min -Histogram: 2 0 0 0 0 0 1 0 0 1 -Nghost: 8641 ave 9376 max 8019 min -Histogram: 1 1 0 0 0 0 0 1 0 1 -Neighs: 150494 ave 184085 max 105390 min -Histogram: 1 0 1 0 0 0 0 0 0 2 - -Total # of neighbors = 601974 -Ave neighs/atom = 150.494 -Neighbor list builds = 51 -Dangerous builds = 0 -run 500 -Per MPI rank memory allocation (min/avg/max) = 4.08 | 4.269 | 4.458 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 1500 0.54223346 -6.2591057 0 -5.4459588 -1.8866984 4738.2137 - 1550 0.55327018 -6.2750125 0 -5.4453148 -1.9506585 4738.2137 - 1600 0.5441901 -6.2612622 0 -5.4451811 -1.8559436 4738.2137 - 1650 0.54710046 -6.2661938 0 -5.4457483 -1.8882766 4738.2137 - 1700 0.5366569 -6.2504957 0 -5.4457116 -1.8067998 4738.2137 - 1750 0.5486468 -6.2681121 0 -5.4453476 -1.8662631 4738.2137 - 1800 0.54476176 -6.2615037 0 -5.4445653 -1.8352743 4738.2137 - 1850 0.5414305 -6.2555519 0 -5.4436091 -1.8005747 4738.2137 - 1900 0.53992655 -6.2541344 0 -5.444447 -1.7768718 4738.2137 - 1950 0.54666071 -6.2640943 0 -5.4443082 -1.7947052 4738.2137 - 2000 0.54556196 -6.2625262 0 -5.4443879 -1.8071631 4738.2137 -Loop time of 2.81593 on 4 procs for 500 steps with 4000 atoms - -Performance: 76706.532 tau/day, 177.561 timesteps/s -90.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.2508 | 1.4839 | 1.6521 | 13.4 | 52.70 -Neigh | 0.34188 | 0.54016 | 0.82358 | 27.6 | 19.18 -Comm | 0.70575 | 0.75254 | 0.80167 | 4.6 | 26.72 -Output | 0.00041604 | 0.001362 | 0.0041099 | 4.3 | 0.05 -Modify | 0.010564 | 0.013653 | 0.018 | 2.7 | 0.48 -Other | | 0.02432 | | | 0.86 - -Nlocal: 1000 ave 1555 max 569 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Nghost: 8672.75 ave 9821 max 7993 min -Histogram: 2 0 0 0 1 0 0 0 0 1 -Neighs: 151656 ave 164603 max 133455 min -Histogram: 1 0 0 0 0 0 1 1 0 1 - -Total # of neighbors = 606625 -Ave neighs/atom = 151.656 -Neighbor list builds = 56 -Dangerous builds = 0 -Total wall time: 0:00:10 diff --git a/examples/balance/log.27Nov18.balance.clock.static.g++.2 b/examples/balance/log.27Nov18.balance.clock.static.g++.2 deleted file mode 100644 index 6f96ac4fef..0000000000 --- a/examples/balance/log.27Nov18.balance.clock.static.g++.2 +++ /dev/null @@ -1,195 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 3d Lennard-Jones melt - -units lj -atom_style atomic -processors * 1 1 - -variable factor index 1.0 - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 -region box block 0 10 0 10 0 10 -create_box 3 box -Created orthogonal box = (0 0 0) to (16.796 16.796 16.796) - 2 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 4000 atoms - Time spent = 0.000517368 secs -mass * 1.0 - -region long block 3 6 0 10 0 10 -set region long type 2 - 1400 settings made for type - -velocity all create 1.0 87287 - -pair_style lj/cut 2.5 -pair_coeff * * 1.0 1.0 2.5 -pair_coeff * 2 1.0 1.0 5.0 - -neighbor 0.3 bin -neigh_modify every 2 delay 4 check yes - -group fast type 1 -2600 atoms in group fast -group slow type 2 -1400 atoms in group slow -balance 1.0 shift x 5 1.1 weight time 1.0 # out unweighted.txt -Neighbor list info ... - update every 2 steps, delay 4 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.3 - ghost atom cutoff = 5.3 - binsize = 2.65, bins = 7 7 7 - 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 - rebalancing time: 0.000522375 seconds - iteration count = 1 - time weight factor: 1 - initial/final max load/proc = 2000 2000 - initial/final imbalance factor = 1 1 - x cuts: 0 0.5 1 - y cuts: 0 1 - z cuts: 0 1 - -fix 1 all nve - -#dump id all atom 50 dump.melt - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -thermo 50 -run 250 -Per MPI rank memory allocation (min/avg/max) = 4.297 | 4.488 | 4.678 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -6.9453205 0 -5.4456955 -5.6812358 - 50 0.49578514 -6.1929216 0 -5.4494298 -1.6668039 - 100 0.53275389 -6.2475932 0 -5.4486622 -1.9063885 - 150 0.53316457 -6.2483202 0 -5.4487733 -1.9476162 - 200 0.536665 -6.2530113 0 -5.448215 -1.933468 - 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 -Loop time of 1.96356 on 2 procs for 250 steps with 4000 atoms - -Performance: 55002.186 tau/day, 127.320 timesteps/s -99.4% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.0024 | 1.243 | 1.4835 | 21.6 | 63.30 -Neigh | 0.3963 | 0.41601 | 0.43572 | 3.1 | 21.19 -Comm | 0.032948 | 0.29324 | 0.55353 | 48.1 | 14.93 -Output | 0.00013924 | 0.00014722 | 0.00015521 | 0.0 | 0.01 -Modify | 0.0072696 | 0.0073524 | 0.0074351 | 0.1 | 0.37 -Other | | 0.003842 | | | 0.20 - -Nlocal: 2000 ave 2051 max 1949 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 10443 ave 10506 max 10380 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 298332 ave 363449 max 233215 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 596664 -Ave neighs/atom = 149.166 -Neighbor list builds = 24 -Dangerous builds = 0 -balance 1.0 shift x 5 1.1 weight time 1.0 # out unweighted.txt - rebalancing time: 0.000424623 seconds - iteration count = 3 - time weight factor: 1 - initial/final max load/proc = 1.91926 1.6972 - initial/final imbalance factor = 1.15689 1.02304 - x cuts: 0 0.4375 1 - y cuts: 0 1 - z cuts: 0 1 -run 250 -Per MPI rank memory allocation (min/avg/max) = 4.681 | 4.683 | 4.685 Mbytes -Step Temp E_pair E_mol TotEng Press - 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 - 300 0.55111476 -6.2727642 0 -5.4462987 -2.0384873 - 350 0.55211503 -6.274054 0 -5.4460885 -2.0116976 - 400 0.54638463 -6.2661715 0 -5.4467995 -1.992248 - 450 0.55885307 -6.2852263 0 -5.4471563 -2.0669747 - 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 -Loop time of 1.84751 on 2 procs for 250 steps with 4000 atoms - -Performance: 58457.127 tau/day, 135.317 timesteps/s -99.5% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.1214 | 1.2291 | 1.3368 | 9.7 | 66.53 -Neigh | 0.37418 | 0.41926 | 0.46434 | 7.0 | 22.69 -Comm | 0.033842 | 0.18738 | 0.34091 | 35.5 | 10.14 -Output | 0.00016665 | 0.00018752 | 0.00020838 | 0.0 | 0.01 -Modify | 0.0062993 | 0.0072798 | 0.0082603 | 1.1 | 0.39 -Other | | 0.00428 | | | 0.23 - -Nlocal: 2000 ave 2284 max 1716 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 10450 ave 10742 max 10158 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 298063 ave 326003 max 270123 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 596126 -Ave neighs/atom = 149.031 -Neighbor list builds = 25 -Dangerous builds = 0 -balance 1.0 shift x 5 1.1 weight time 1.0 # out unweighted.txt - rebalancing time: 0.000502825 seconds - iteration count = 3 - time weight factor: 1 - initial/final max load/proc = 1.80118 1.79434 - initial/final imbalance factor = 1.0927 1.08854 - x cuts: 0 0.507812 1 - y cuts: 0 1 - z cuts: 0 1 -run 250 -Per MPI rank memory allocation (min/avg/max) = 4.681 | 4.683 | 4.686 Mbytes -Step Temp E_pair E_mol TotEng Press - 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 - 550 0.54137926 -6.2592773 0 -5.4474115 -1.9770236 - 600 0.54022886 -6.2573307 0 -5.44719 -1.9619637 - 650 0.54709009 -6.2678862 0 -5.4474562 -1.9958342 - 700 0.54590044 -6.2656903 0 -5.4470444 -1.9957108 - 750 0.55098488 -6.2724831 0 -5.4462124 -2.0287523 -Loop time of 2.03694 on 2 procs for 250 steps with 4000 atoms - -Performance: 53020.655 tau/day, 122.733 timesteps/s -99.3% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.92132 | 1.2301 | 1.5389 | 27.8 | 60.39 -Neigh | 0.3924 | 0.42313 | 0.45386 | 4.7 | 20.77 -Comm | 0.032816 | 0.37246 | 0.71211 | 55.7 | 18.29 -Output | 0.00013733 | 0.00014532 | 0.0001533 | 0.0 | 0.01 -Modify | 0.0069692 | 0.0072372 | 0.0075052 | 0.3 | 0.36 -Other | | 0.003856 | | | 0.19 - -Nlocal: 2000 ave 2097 max 1903 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 10439.5 ave 10561 max 10318 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 299628 ave 378859 max 220397 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 599256 -Ave neighs/atom = 149.814 -Neighbor list builds = 25 -Dangerous builds = 0 -Total wall time: 0:00:05 diff --git a/examples/balance/log.27Nov18.balance.clock.static.g++.4 b/examples/balance/log.27Nov18.balance.clock.static.g++.4 deleted file mode 100644 index 45bae5631f..0000000000 --- a/examples/balance/log.27Nov18.balance.clock.static.g++.4 +++ /dev/null @@ -1,195 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 3d Lennard-Jones melt - -units lj -atom_style atomic -processors * 1 1 - -variable factor index 1.0 - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 -region box block 0 10 0 10 0 10 -create_box 3 box -Created orthogonal box = (0 0 0) to (16.796 16.796 16.796) - 4 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 4000 atoms - Time spent = 0.000427961 secs -mass * 1.0 - -region long block 3 6 0 10 0 10 -set region long type 2 - 1400 settings made for type - -velocity all create 1.0 87287 - -pair_style lj/cut 2.5 -pair_coeff * * 1.0 1.0 2.5 -pair_coeff * 2 1.0 1.0 5.0 - -neighbor 0.3 bin -neigh_modify every 2 delay 4 check yes - -group fast type 1 -2600 atoms in group fast -group slow type 2 -1400 atoms in group slow -balance 1.0 shift x 5 1.1 weight time 1.0 # out unweighted.txt -Neighbor list info ... - update every 2 steps, delay 4 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.3 - ghost atom cutoff = 5.3 - binsize = 2.65, bins = 7 7 7 - 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 - rebalancing time: 0.000848055 seconds - iteration count = 2 - time weight factor: 1 - initial/final max load/proc = 1200 1200 - initial/final imbalance factor = 1.2 1.2 - x cuts: 0 0.25 0.5 0.6875 1 - y cuts: 0 1 - z cuts: 0 1 - -fix 1 all nve - -#dump id all atom 50 dump.melt - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -thermo 50 -run 250 -Per MPI rank memory allocation (min/avg/max) = 3.426 | 3.713 | 4.188 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -6.9453205 0 -5.4456955 -5.6812358 - 50 0.48653399 -6.1788509 0 -5.4492324 -1.6017778 - 100 0.53411175 -6.249885 0 -5.4489177 -1.9317606 - 150 0.53646658 -6.2527206 0 -5.4482219 -1.9689568 - 200 0.54551611 -6.2656326 0 -5.4475631 -2.0042104 - 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 -Loop time of 1.50594 on 4 procs for 250 steps with 4000 atoms - -Performance: 71716.080 tau/day, 166.009 timesteps/s -96.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.34764 | 0.66777 | 1.2288 | 43.4 | 44.34 -Neigh | 0.1594 | 0.20524 | 0.2451 | 7.5 | 13.63 -Comm | 0.039175 | 0.62421 | 0.93047 | 45.4 | 41.45 -Output | 0.00015855 | 0.00024235 | 0.00047231 | 0.0 | 0.02 -Modify | 0.0028908 | 0.0039527 | 0.0049407 | 1.2 | 0.26 -Other | | 0.004522 | | | 0.30 - -Nlocal: 1000 ave 1263 max 712 min -Histogram: 1 0 0 0 1 0 1 0 0 1 -Nghost: 8711.5 ave 9045 max 8325 min -Histogram: 1 0 0 0 0 1 1 0 0 1 -Neighs: 149325 ave 275165 max 77227 min -Histogram: 2 0 0 0 1 0 0 0 0 1 - -Total # of neighbors = 597299 -Ave neighs/atom = 149.325 -Neighbor list builds = 23 -Dangerous builds = 0 -balance 1.0 shift x 5 1.1 weight time 1.0 # out unweighted.txt - rebalancing time: 0.000421047 seconds - iteration count = 4 - time weight factor: 1 - initial/final max load/proc = 1.45871 0.956175 - initial/final imbalance factor = 1.6709 1.09526 - x cuts: 0 0.296875 0.453125 0.628906 1 - y cuts: 0 1 - z cuts: 0 1 -run 250 -Per MPI rank memory allocation (min/avg/max) = 3.787 | 3.907 | 4.192 Mbytes -Step Temp E_pair E_mol TotEng Press - 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 - 300 0.5477618 -6.2678071 0 -5.4463698 -1.997842 - 350 0.55600296 -6.2801497 0 -5.4463538 -2.0394056 - 400 0.53241503 -6.2453665 0 -5.4469436 -1.878594 - 450 0.5439158 -6.2623 0 -5.4466302 -1.9744161 - 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 -Loop time of 1.24397 on 4 procs for 250 steps with 4000 atoms - -Performance: 86819.073 tau/day, 200.970 timesteps/s -95.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.4612 | 0.67729 | 0.88321 | 20.9 | 54.45 -Neigh | 0.14175 | 0.20919 | 0.28903 | 13.7 | 16.82 -Comm | 0.19855 | 0.34785 | 0.48428 | 18.8 | 27.96 -Output | 0.00016665 | 0.00030792 | 0.00066757 | 0.0 | 0.02 -Modify | 0.0027177 | 0.0053391 | 0.010109 | 4.1 | 0.43 -Other | | 0.003992 | | | 0.32 - -Nlocal: 1000 ave 1462 max 652 min -Histogram: 2 0 0 0 0 0 1 0 0 1 -Nghost: 8657 ave 9421 max 7969 min -Histogram: 1 1 0 0 0 0 0 1 0 1 -Neighs: 149356 ave 195930 max 106343 min -Histogram: 1 1 0 0 0 0 0 1 0 1 - -Total # of neighbors = 597424 -Ave neighs/atom = 149.356 -Neighbor list builds = 24 -Dangerous builds = 0 -balance 1.0 shift x 5 1.1 weight time 1.0 # out unweighted.txt - rebalancing time: 0.000288963 seconds - iteration count = 5 - time weight factor: 1 - initial/final max load/proc = 1.03814 0.978524 - initial/final imbalance factor = 1.17108 1.10383 - x cuts: 0 0.301758 0.448242 0.60144 1 - y cuts: 0 1 - z cuts: 0 1 -run 250 -Per MPI rank memory allocation (min/avg/max) = 3.804 | 3.927 | 4.209 Mbytes -Step Temp E_pair E_mol TotEng Press - 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 - 550 0.53879347 -6.2554274 0 -5.4474393 -1.9756834 - 600 0.54275982 -6.2616799 0 -5.4477437 -1.9939993 - 650 0.54526651 -6.265098 0 -5.4474027 -2.0303672 - 700 0.54369381 -6.263201 0 -5.4478642 -1.9921967 - 750 0.54452777 -6.2640839 0 -5.4474964 -1.9658675 -Loop time of 1.14445 on 4 procs for 250 steps with 4000 atoms - -Performance: 94368.537 tau/day, 218.446 timesteps/s -98.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.52287 | 0.67351 | 0.79602 | 13.2 | 58.85 -Neigh | 0.14306 | 0.21848 | 0.31638 | 16.2 | 19.09 -Comm | 0.19457 | 0.24404 | 0.29562 | 7.2 | 21.32 -Output | 0.00016236 | 0.00029993 | 0.00065851 | 0.0 | 0.03 -Modify | 0.0024104 | 0.0038835 | 0.0057485 | 2.3 | 0.34 -Other | | 0.004232 | | | 0.37 - -Nlocal: 1000 ave 1522 max 593 min -Histogram: 2 0 0 0 0 0 1 0 0 1 -Nghost: 8754 ave 9866 max 8002 min -Histogram: 2 0 0 0 0 1 0 0 0 1 -Neighs: 149124 ave 182694 max 120516 min -Histogram: 1 0 1 0 0 0 1 0 0 1 - -Total # of neighbors = 596497 -Ave neighs/atom = 149.124 -Neighbor list builds = 25 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/balance/log.27Nov18.balance.g++.2 b/examples/balance/log.27Nov18.balance.g++.2 deleted file mode 100644 index 6b0d0baa88..0000000000 --- a/examples/balance/log.27Nov18.balance.g++.2 +++ /dev/null @@ -1,209 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 2d circle of particles inside a box with LJ walls - -variable b index 0 - -variable x index 50 -variable y index 20 -variable d index 20 -variable v index 5 -variable w index 2 - -units lj -dimension 2 -atom_style atomic -boundary f f p - -lattice hex 0.85 -Lattice spacing in x,y,z = 1.16553 2.01877 1.16553 -region box block 0 $x 0 $y -0.5 0.5 -region box block 0 50 0 $y -0.5 0.5 -region box block 0 50 0 20 -0.5 0.5 -create_box 1 box -Created orthogonal box = (0 0 -0.582767) to (58.2767 40.3753 0.582767) - 2 by 1 by 1 MPI processor grid -region circle sphere $(v_d/2+1) $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) -region circle sphere 11 $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) -region circle sphere 11 6.7735026918962581988 0.0 $(v_d/2) -region circle sphere 11 6.7735026918962581988 0.0 10 -create_atoms 1 region circle -Created 361 atoms - Time spent = 0.000478506 secs -mass 1 1.0 - -velocity all create 0.5 87287 loop geom -velocity all set $v $w 0 sum yes -velocity all set 5 $w 0 sum yes -velocity all set 5 2 0 sum yes - -pair_style lj/cut 2.5 -pair_coeff 1 1 10.0 1.0 2.5 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 1 all nve - -fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi $x 1 1 2.5 -fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi 50 1 1 2.5 -fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi $y 1 1 2.5 -fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi 20 1 1 2.5 - -comm_style tiled -fix 10 all balance 50 0.9 rcb - -#compute 1 all property/atom proc -#variable p atom c_1%10 -#dump 2 all custom 50 tmp.dump id v_p x y z - -#dump 3 all image 50 image.*.jpg v_p type # adiam 1.0 view 0 0 zoom 1.8 subbox yes 0.02 -#variable colors string # "red green blue yellow white # purple pink orange lime gray" -#dump_modify 3 pad 5 amap 0 10 sa 1 10 ${colors} - -thermo_style custom step temp epair press f_10[3] f_10 -thermo 100 - -run 10000 -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 = 42 29 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.061 | 3.065 | 3.07 Mbytes -Step Temp E_pair Press f_10[3] f_10 - 0 25.701528 -29.143179 -1.2407285 2 1.0193906 - 100 26.269576 -29.713313 7.9052334 1.1135734 1.0027701 - 200 26.368336 -29.809962 1.6412462 1.0803324 1.0027701 - 300 26.479082 -29.920083 2.3678653 1.1578947 1.0083102 - 400 26.522239 -29.965537 6.6787858 1.1578947 1.0083102 - 500 25.725591 -29.168034 0.67065285 1.1024931 1.0083102 - 600 26.247693 -29.692706 7.9887712 1.1301939 1.0027701 - 700 26.237368 -29.676926 1.5987214 1.1578947 1.0027701 - 800 25.889643 -29.431589 4.6160859 1.1523546 1.0027701 - 900 23.635295 -27.372963 9.029962 1.1468144 1.0027701 - 1000 22.571904 -25.87422 1.8936085 1.1191136 1.0083102 - 1100 17.493795 -21.447274 9.502619 1.0747922 1.0027701 - 1200 17.214459 -20.726965 6.3578919 1.0193906 1.0083102 - 1300 16.424217 -19.757401 3.9026861 1.0083102 1.0027701 - 1400 15.051731 -18.13464 1.7558146 1.0249307 1.0027701 - 1500 13.966718 -17.051915 1.4843674 1.0470914 1.0027701 - 1600 13.615641 -16.582695 1.7845355 1.0415512 1.0027701 - 1700 13.278822 -16.278248 1.8263176 1.0470914 1.0083102 - 1800 12.680841 -15.81089 2.0096239 1.0415512 1.0027701 - 1900 12.039167 -14.99225 1.4379549 1.0360111 1.0027701 - 2000 12.298923 -15.188233 1.6287319 1.0249307 1.0027701 - 2100 12.048347 -14.947484 1.0583787 1.0304709 1.0027701 - 2200 12.024664 -14.91864 1.0617555 1.0304709 1.0027701 - 2300 11.878263 -14.769923 1.2892425 1.0360111 1.0027701 - 2400 11.578448 -14.525725 1.2925126 1.0083102 1.0027701 - 2500 11.948793 -14.736647 1.5473169 1.0249307 1.0027701 - 2600 11.933924 -14.725605 1.3673896 1.0249307 1.0027701 - 2700 11.622855 -14.414518 1.3035925 1.0304709 1.0083102 - 2800 10.600538 -13.451379 1.3422508 1.0138504 1.0027701 - 2900 10.404739 -13.242902 1.3070821 1.0083102 1.0027701 - 3000 10.73199 -13.60699 0.92518136 1.0138504 1.0027701 - 3100 10.807664 -13.624775 1.3037969 1.0193906 1.0027701 - 3200 10.393964 -13.212022 0.72081929 1.0027701 1.0027701 - 3300 9.8733371 -12.65719 1.1606833 1.0138504 1.0027701 - 3400 9.6206594 -12.349773 0.69859994 1.0138504 1.0027701 - 3500 9.5882688 -12.32291 1.0028888 1.0138504 1.0027701 - 3600 9.693129 -12.441628 0.94751509 1.0193906 1.0083102 - 3700 9.3727837 -12.162354 1.9639195 1.0027701 1.0027701 - 3800 9.1011581 -11.860999 1.0253876 1.0083102 1.0027701 - 3900 8.6637799 -11.44226 1.4848652 1.0027701 1.0027701 - 4000 9.0454579 -11.770928 0.82719098 1.0083102 1.0083102 - 4100 8.5574492 -11.30614 0.82422479 1.0193906 1.0027701 - 4200 8.5903538 -11.322978 0.45091349 1.0027701 1.0027701 - 4300 8.540208 -11.282844 0.55403945 1.0027701 1.0027701 - 4400 7.7043293 -10.372194 0.80170046 1.0027701 1.0027701 - 4500 7.3429905 -9.9970461 0.77097228 1.0193906 1.0027701 - 4600 7.35485 -9.9992837 0.66531873 1.0027701 1.0027701 - 4700 7.3278467 -9.9885021 0.99577458 1.0193906 1.0027701 - 4800 7.8179777 -10.468758 0.56434522 1.0138504 1.0083102 - 4900 7.571002 -10.215558 0.81064116 1.0138504 1.0027701 - 5000 7.5326417 -10.224594 0.86387082 1.0083102 1.0027701 - 5100 7.8120521 -10.468885 0.86739094 1.0027701 1.0027701 - 5200 7.2949975 -10.041278 1.0298349 1.0027701 1.0027701 - 5300 7.6564811 -10.297993 0.71060925 1.0027701 1.0083102 - 5400 7.7359804 -10.373635 0.61872932 1.0027701 1.0083102 - 5500 7.6511513 -10.279058 0.87569767 1.0027701 1.0027701 - 5600 7.2927879 -9.9378811 1.1573049 1.0083102 1.0083102 - 5700 7.1836162 -9.8357325 0.43012076 1.0083102 1.0083102 - 5800 7.3405818 -9.9780947 0.69346928 1.0083102 1.0027701 - 5900 7.6636501 -10.323536 0.82554433 1.0027701 1.0027701 - 6000 7.3515582 -9.9803466 1.09521 1.0138504 1.0027701 - 6100 7.0275875 -9.6739554 0.48460922 1.0027701 1.0027701 - 6200 7.1449226 -9.7541904 0.83007096 1.0193906 1.0083102 - 6300 7.036185 -9.6445595 1.0982599 1.0193906 1.0027701 - 6400 7.1288989 -9.7501637 1.0103414 1.0138504 1.0027701 - 6500 6.6559525 -9.256798 0.58741228 1.0027701 1.0027701 - 6600 7.0559949 -9.6563848 0.53504661 1.0027701 1.0027701 - 6700 7.124289 -9.7613906 0.70816625 1.0027701 1.0027701 - 6800 7.0141849 -9.6298357 0.55987809 1.0083102 1.0027701 - 6900 6.8617323 -9.4376408 0.62371253 1.0193906 1.0083102 - 7000 6.7496366 -9.3379578 0.83540012 1.0027701 1.0083102 - 7100 7.0418565 -9.664915 0.68231111 1.0083102 1.0027701 - 7200 6.6175362 -9.2066737 0.31371885 1.0138504 1.0027701 - 7300 7.076179 -9.6917457 1.0827515 1.0083102 1.0027701 - 7400 6.5263123 -9.1321276 1.1892921 1.0027701 1.0027701 - 7500 6.8072952 -9.3976358 0.60458526 1.0138504 1.0027701 - 7600 6.610006 -9.1934492 0.54359615 1.0193906 1.0027701 - 7700 6.3533198 -8.943515 0.91970357 1.0138504 1.0027701 - 7800 6.7226774 -9.3164434 0.81151352 1.0027701 1.0083102 - 7900 6.2329222 -8.8531998 0.59439797 1.0083102 1.0027701 - 8000 6.5818943 -9.2025911 0.66303132 1.0083102 1.0027701 - 8100 6.372739 -8.9403406 0.81325975 1.0138504 1.0027701 - 8200 6.462003 -9.0346265 0.54917879 1.0083102 1.0027701 - 8300 6.5947825 -9.2171877 0.9005455 1.0027701 1.0027701 - 8400 6.7803374 -9.4179158 0.37270772 1.0027701 1.0027701 - 8500 6.7122886 -9.3363107 0.77011047 1.0083102 1.0027701 - 8600 6.8286386 -9.4264779 0.35815593 1.0027701 1.0027701 - 8700 6.4796483 -9.0676554 0.84568363 1.0138504 1.0027701 - 8800 6.551896 -9.1793668 1.0319947 1.0083102 1.0027701 - 8900 6.1879163 -8.7590749 0.34445309 1.0027701 1.0027701 - 9000 6.2374494 -8.7872159 0.46749314 1.0027701 1.0027701 - 9100 6.3605933 -8.9335681 0.86786624 1.0027701 1.0027701 - 9200 6.4387791 -9.0144583 0.56089061 1.0083102 1.0027701 - 9300 6.2745383 -8.9019836 0.58565081 1.0083102 1.0027701 - 9400 6.1957924 -8.7638279 0.65785826 1.0027701 1.0083102 - 9500 6.079287 -8.6556289 0.47532552 1.0083102 1.0027701 - 9600 6.7679205 -9.3427341 0.48539851 1.0083102 1.0027701 - 9700 6.4007616 -8.9753463 0.58689382 1.0138504 1.0027701 - 9800 6.2137021 -8.7670545 0.80327882 1.0249307 1.0027701 - 9900 6.063559 -8.6359278 0.34977555 1.0083102 1.0027701 - 10000 6.5604562 -9.1417599 0.49589297 1.0083102 1.0027701 -Loop time of 0.469504 on 2 procs for 10000 steps with 361 atoms - -Performance: 9201197.252 tau/day, 21299.068 timesteps/s -94.4% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.13648 | 0.14553 | 0.15459 | 2.4 | 31.00 -Neigh | 0.13867 | 0.14128 | 0.1439 | 0.7 | 30.09 -Comm | 0.05533 | 0.06494 | 0.07455 | 3.8 | 13.83 -Output | 0.0012147 | 0.0013802 | 0.0015457 | 0.4 | 0.29 -Modify | 0.071393 | 0.071421 | 0.07145 | 0.0 | 15.21 -Other | | 0.04494 | | | 9.57 - -Nlocal: 180.5 ave 181 max 180 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 30 ave 34 max 26 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 579.5 ave 644 max 515 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 1159 -Ave neighs/atom = 3.21053 -Neighbor list builds = 3510 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/balance/log.27Nov18.balance.g++.4 b/examples/balance/log.27Nov18.balance.g++.4 deleted file mode 100644 index 7889eff888..0000000000 --- a/examples/balance/log.27Nov18.balance.g++.4 +++ /dev/null @@ -1,209 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 2d circle of particles inside a box with LJ walls - -variable b index 0 - -variable x index 50 -variable y index 20 -variable d index 20 -variable v index 5 -variable w index 2 - -units lj -dimension 2 -atom_style atomic -boundary f f p - -lattice hex 0.85 -Lattice spacing in x,y,z = 1.16553 2.01877 1.16553 -region box block 0 $x 0 $y -0.5 0.5 -region box block 0 50 0 $y -0.5 0.5 -region box block 0 50 0 20 -0.5 0.5 -create_box 1 box -Created orthogonal box = (0 0 -0.582767) to (58.2767 40.3753 0.582767) - 2 by 2 by 1 MPI processor grid -region circle sphere $(v_d/2+1) $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) -region circle sphere 11 $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) -region circle sphere 11 6.7735026918962581988 0.0 $(v_d/2) -region circle sphere 11 6.7735026918962581988 0.0 10 -create_atoms 1 region circle -Created 361 atoms - Time spent = 0.000404358 secs -mass 1 1.0 - -velocity all create 0.5 87287 loop geom -velocity all set $v $w 0 sum yes -velocity all set 5 $w 0 sum yes -velocity all set 5 2 0 sum yes - -pair_style lj/cut 2.5 -pair_coeff 1 1 10.0 1.0 2.5 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes - -fix 1 all nve - -fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi $x 1 1 2.5 -fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi 50 1 1 2.5 -fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi $y 1 1 2.5 -fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi 20 1 1 2.5 - -comm_style tiled -fix 10 all balance 50 0.9 rcb - -#compute 1 all property/atom proc -#variable p atom c_1%10 -#dump 2 all custom 50 tmp.dump id v_p x y z - -#dump 3 all image 50 image.*.jpg v_p type # adiam 1.0 view 0 0 zoom 1.8 subbox yes 0.02 -#variable colors string # "red green blue yellow white # purple pink orange lime gray" -#dump_modify 3 pad 5 amap 0 10 sa 1 10 ${colors} - -thermo_style custom step temp epair press f_10[3] f_10 -thermo 100 - -run 10000 -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 = 42 29 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.041 | 3.047 | 3.059 Mbytes -Step Temp E_pair Press f_10[3] f_10 - 0 25.701528 -29.143179 -1.2407285 3.2354571 1.0526316 - 100 26.269576 -29.713313 7.9052334 1.2742382 1.0304709 - 200 26.368336 -29.809962 1.6412462 1.2520776 1.0083102 - 300 26.479082 -29.920083 2.3678653 1.2299169 1.0193906 - 400 26.522239 -29.965537 6.6787858 1.1855956 1.0083102 - 500 25.725591 -29.168034 0.67065285 1.2520776 1.0193906 - 600 26.247693 -29.692706 7.9887712 1.3074792 1.0193906 - 700 26.237368 -29.676926 1.5987214 1.2409972 1.0083102 - 800 25.889643 -29.431589 4.6160859 1.2631579 1.0083102 - 900 23.635295 -27.372963 9.029962 1.1634349 1.0083102 - 1000 22.571904 -25.87422 1.8936085 1.1301939 1.0193906 - 1100 17.493795 -21.447274 9.502619 1.0858726 1.0193906 - 1200 17.214459 -20.726965 6.3578918 1.0304709 1.0083102 - 1300 16.42412 -19.757358 3.9027527 1.1191136 1.0193906 - 1400 15.030721 -18.114099 1.7564242 1.1523546 1.0193906 - 1500 13.81681 -16.902783 1.1577715 1.0858726 1.0083102 - 1600 13.686443 -16.661545 1.5415714 1.0969529 1.0083102 - 1700 13.019794 -16.066239 2.0360985 1.0526316 1.0083102 - 1800 12.297559 -15.3505 2.3411708 1.0858726 1.0083102 - 1900 12.279142 -15.287559 1.6641576 1.0415512 1.0083102 - 2000 12.230052 -15.192836 1.0975388 1.0415512 1.0193906 - 2100 11.697549 -14.599737 1.6237216 1.0969529 1.0083102 - 2200 11.682062 -14.610972 1.4641234 1.0747922 1.0083102 - 2300 11.075799 -13.986408 1.3034228 1.0637119 1.0083102 - 2400 11.362073 -14.290331 1.4934327 1.0304709 1.0083102 - 2500 11.100258 -14.006922 1.5476543 1.0415512 1.0193906 - 2600 11.12995 -14.013738 1.648208 1.0526316 1.0193906 - 2700 10.709161 -13.560172 1.396234 1.0193906 1.0083102 - 2800 10.827433 -13.654426 1.0691842 1.0304709 1.0083102 - 2900 10.653946 -13.622298 1.0985321 1.0304709 1.0083102 - 3000 10.277755 -13.110194 0.80184675 1.0304709 1.0083102 - 3100 9.9099809 -12.702359 1.0351594 1.0304709 1.0193906 - 3200 9.7539825 -12.558768 0.54465848 1.0526316 1.0083102 - 3300 10.126666 -12.949441 0.64914734 1.0304709 1.0083102 - 3400 9.5324496 -12.338741 1.2896056 1.0193906 1.0193906 - 3500 9.4041639 -12.170248 0.72157285 1.0304709 1.0083102 - 3600 9.2601291 -12.094438 1.1638062 1.0415512 1.0193906 - 3700 9.7052324 -12.503428 1.0681965 1.0193906 1.0193906 - 3800 9.1757619 -11.95576 1.2517655 1.0637119 1.0083102 - 3900 9.2622488 -12.036744 0.49874718 1.0193906 1.0083102 - 4000 8.8510215 -11.634558 1.0887428 1.0415512 1.0193906 - 4100 8.3821331 -11.145234 0.91008971 1.0193906 1.0083102 - 4200 8.2295054 -10.970304 0.5181043 1.0304709 1.0083102 - 4300 8.2161013 -10.942353 0.42128421 1.0304709 1.0193906 - 4400 7.7366945 -10.4592 0.79646198 1.0304709 1.0193906 - 4500 7.6089407 -10.446852 1.0059975 1.0083102 1.0193906 - 4600 7.6662499 -10.406613 1.7369986 1.0193906 1.0083102 - 4700 7.9515739 -10.665324 0.73173058 1.0193906 1.0083102 - 4800 7.7580664 -10.520311 1.1065958 1.0304709 1.0083102 - 4900 7.561205 -10.291568 0.97923495 1.0083102 1.0193906 - 5000 7.4169102 -10.130439 1.1566293 1.0193906 1.0193906 - 5100 7.5994418 -10.310725 1.1081236 1.0193906 1.0193906 - 5200 7.4637026 -10.211945 0.46308591 1.0193906 1.0083102 - 5300 7.5864081 -10.289039 0.55146387 1.0415512 1.0083102 - 5400 7.2190688 -9.8943729 0.56255805 1.0193906 1.0193906 - 5500 7.3953465 -10.112294 0.49166363 1.0193906 1.0193906 - 5600 7.3584536 -10.027488 0.69227871 1.0193906 1.0193906 - 5700 6.932639 -9.6121874 0.67344283 1.0304709 1.0083102 - 5800 7.088604 -9.7715725 0.20307999 1.0193906 1.0193906 - 5900 6.9761247 -9.6446998 0.90406994 1.0083102 1.0083102 - 6000 6.8763621 -9.5236579 0.57873884 1.0415512 1.0083102 - 6100 6.939987 -9.5929188 0.36904108 1.0304709 1.0083102 - 6200 6.820038 -9.4635599 0.63193653 1.0304709 1.0083102 - 6300 6.8288347 -9.4833639 0.41971515 1.0415512 1.0304709 - 6400 6.8690672 -9.5446244 1.0201589 1.0415512 1.0193906 - 6500 6.4727631 -9.1148404 0.80775699 1.0193906 1.0193906 - 6600 6.7113328 -9.3554765 0.61684835 1.0083102 1.0083102 - 6700 6.5896516 -9.2696941 0.58593745 1.0526316 1.0193906 - 6800 6.5609717 -9.2314045 1.2897992 1.0193906 1.0083102 - 6900 6.6225137 -9.2809347 0.47677707 1.0415512 1.0083102 - 7000 6.6617661 -9.3147214 0.72415312 1.0304709 1.0193906 - 7100 6.5773856 -9.2843036 0.7800794 1.0304709 1.0083102 - 7200 6.7300254 -9.4233488 0.73403634 1.0193906 1.0193906 - 7300 6.8497011 -9.4992354 0.97755826 1.0304709 1.0193906 - 7400 6.5848304 -9.2649536 0.89449647 1.0526316 1.0193906 - 7500 6.6468599 -9.3004561 0.53259674 1.0304709 1.0083102 - 7600 6.7096387 -9.3824628 0.40095675 1.0193906 1.0083102 - 7700 6.6205931 -9.2612947 0.44113095 1.0083102 1.0083102 - 7800 6.444935 -9.073124 0.47355329 1.0193906 1.0083102 - 7900 6.6143353 -9.2763501 0.57936627 1.0193906 1.0083102 - 8000 6.5718284 -9.2099799 0.88048189 1.0637119 1.0083102 - 8100 6.9155381 -9.5644544 0.36029314 1.0415512 1.0083102 - 8200 6.4217261 -9.0582117 0.4577164 1.0193906 1.0193906 - 8300 6.4639521 -9.0911283 0.50560328 1.0193906 1.0193906 - 8400 6.2047897 -8.8357836 0.71150301 1.0083102 1.0083102 - 8500 6.5688691 -9.2701491 0.5963871 1.0193906 1.0083102 - 8600 6.6803448 -9.3311473 0.47008064 1.0304709 1.0083102 - 8700 6.4794219 -9.1136868 0.97764575 1.0193906 1.0193906 - 8800 6.3899651 -9.0655629 0.72557611 1.0083102 1.0193906 - 8900 6.4446062 -9.1121453 0.53050589 1.0193906 1.0083102 - 9000 6.7012614 -9.3365992 0.63041848 1.0415512 1.0083102 - 9100 6.3982388 -9.0510004 0.34575359 1.0415512 1.0083102 - 9200 6.9775773 -9.6647109 0.97993232 1.0304709 1.0193906 - 9300 6.5504231 -9.2113542 0.58697844 1.0193906 1.0193906 - 9400 6.6900283 -9.3954145 0.40867465 1.0083102 1.0193906 - 9500 6.3553229 -8.9965934 0.60133843 1.0526316 1.0193906 - 9600 6.4861076 -9.1404384 1.0033387 1.0193906 1.0193906 - 9700 6.469481 -9.1202491 0.85523385 1.0083102 1.0193906 - 9800 6.5508552 -9.188341 0.6068644 1.0304709 1.0083102 - 9900 6.4355199 -9.1044882 0.83288252 1.0304709 1.0193906 - 10000 6.4850092 -9.1433721 0.58691238 1.0193906 1.0193906 -Loop time of 0.418243 on 4 procs for 10000 steps with 361 atoms - -Performance: 10328920.895 tau/day, 23909.539 timesteps/s -87.1% 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.062269 | 0.073833 | 0.096031 | 4.9 | 17.65 -Neigh | 0.066658 | 0.072882 | 0.084956 | 2.7 | 17.43 -Comm | 0.10814 | 0.13013 | 0.14677 | 4.4 | 31.11 -Output | 0.0015733 | 0.0017747 | 0.0023153 | 0.7 | 0.42 -Modify | 0.060045 | 0.060904 | 0.061674 | 0.3 | 14.56 -Other | | 0.07872 | | | 18.82 - -Nlocal: 90.25 ave 92 max 89 min -Histogram: 2 0 0 0 0 0 1 0 0 1 -Nghost: 33.25 ave 57 max 13 min -Histogram: 1 0 0 0 2 0 0 0 0 1 -Neighs: 309.25 ave 496 max 125 min -Histogram: 1 0 0 1 0 0 1 0 0 1 - -Total # of neighbors = 1237 -Ave neighs/atom = 3.42659 -Neighbor list builds = 3620 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/balance/log.27Nov18.balance.group.dynamic.g++.2 b/examples/balance/log.27Nov18.balance.group.dynamic.g++.2 deleted file mode 100644 index b88593b718..0000000000 --- a/examples/balance/log.27Nov18.balance.group.dynamic.g++.2 +++ /dev/null @@ -1,110 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 3d Lennard-Jones melt - -units lj -atom_style atomic -processors * 1 1 - -variable factor index 1.0 - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 -region box block 0 10 0 10 0 10 -create_box 3 box -Created orthogonal box = (0 0 0) to (16.796 16.796 16.796) - 2 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 4000 atoms - Time spent = 0.000552893 secs -mass * 1.0 - -region long block 3 6 0 10 0 10 -set region long type 2 - 1400 settings made for type - -velocity all create 1.0 87287 - -pair_style lj/cut 2.5 -pair_coeff * * 1.0 1.0 2.5 -pair_coeff * 2 1.0 1.0 5.0 - -neighbor 0.3 bin -neigh_modify every 2 delay 4 check yes - -group fast type 1 -2600 atoms in group fast -group slow type 2 -1400 atoms in group slow -balance 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow ${factor} # out weighted.txt -balance 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow 1.0 -Neighbor list info ... - update every 2 steps, delay 4 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.3 - ghost atom cutoff = 5.3 - binsize = 2.65, bins = 7 7 7 - 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 - rebalancing time: 0.000512123 seconds - iteration count = 1 - group weights: fast=1 slow=1 - initial/final max load/proc = 2000 2000 - initial/final imbalance factor = 1 1 - x cuts: 0 0.5 1 - y cuts: 0 1 - z cuts: 0 1 -fix 0 all balance 10 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow ${factor} -fix 0 all balance 10 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow 1.0 - -fix 1 all nve - -#dump id all atom 50 dump.melt - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -thermo 50 -run 250 -Per MPI rank memory allocation (min/avg/max) = 4.437 | 4.628 | 4.819 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137 - 50 0.49578514 -6.1929216 0 -5.4494298 -1.6668039 4738.2137 - 100 0.53275389 -6.2475932 0 -5.4486622 -1.9063885 4738.2137 - 150 0.53316457 -6.2483202 0 -5.4487733 -1.9476162 4738.2137 - 200 0.536665 -6.2530113 0 -5.448215 -1.933468 4738.2137 - 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 4738.2137 -Loop time of 1.95661 on 2 procs for 250 steps with 4000 atoms - -Performance: 55197.383 tau/day, 127.772 timesteps/s -99.4% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.0628 | 1.263 | 1.4632 | 17.8 | 64.55 -Neigh | 0.42332 | 0.43486 | 0.44639 | 1.7 | 22.22 -Comm | 0.033167 | 0.2449 | 0.45664 | 42.8 | 12.52 -Output | 0.00015879 | 0.00017142 | 0.00018406 | 0.0 | 0.01 -Modify | 0.010039 | 0.010042 | 0.010045 | 0.0 | 0.51 -Other | | 0.003658 | | | 0.19 - -Nlocal: 2000 ave 2000 max 2000 min -Histogram: 2 0 0 0 0 0 0 0 0 0 -Nghost: 10441 ave 10457 max 10425 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 298332 ave 349156 max 247508 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 596664 -Ave neighs/atom = 149.166 -Neighbor list builds = 25 -Dangerous builds = 0 -Total wall time: 0:00:01 diff --git a/examples/balance/log.27Nov18.balance.group.dynamic.g++.4 b/examples/balance/log.27Nov18.balance.group.dynamic.g++.4 deleted file mode 100644 index ec6fc449c4..0000000000 --- a/examples/balance/log.27Nov18.balance.group.dynamic.g++.4 +++ /dev/null @@ -1,110 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 3d Lennard-Jones melt - -units lj -atom_style atomic -processors * 1 1 - -variable factor index 1.0 - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 -region box block 0 10 0 10 0 10 -create_box 3 box -Created orthogonal box = (0 0 0) to (16.796 16.796 16.796) - 4 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 4000 atoms - Time spent = 0.000427008 secs -mass * 1.0 - -region long block 3 6 0 10 0 10 -set region long type 2 - 1400 settings made for type - -velocity all create 1.0 87287 - -pair_style lj/cut 2.5 -pair_coeff * * 1.0 1.0 2.5 -pair_coeff * 2 1.0 1.0 5.0 - -neighbor 0.3 bin -neigh_modify every 2 delay 4 check yes - -group fast type 1 -2600 atoms in group fast -group slow type 2 -1400 atoms in group slow -balance 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow ${factor} # out weighted.txt -balance 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow 1.0 -Neighbor list info ... - update every 2 steps, delay 4 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.3 - ghost atom cutoff = 5.3 - binsize = 2.65, bins = 7 7 7 - 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 - rebalancing time: 0.000735044 seconds - iteration count = 2 - group weights: fast=1 slow=1 - initial/final max load/proc = 1200 1200 - initial/final imbalance factor = 1.2 1.2 - x cuts: 0 0.25 0.5 0.6875 1 - y cuts: 0 1 - z cuts: 0 1 -fix 0 all balance 10 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow ${factor} -fix 0 all balance 10 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow 1.0 - -fix 1 all nve - -#dump id all atom 50 dump.melt - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -thermo 50 -run 250 -Per MPI rank memory allocation (min/avg/max) = 3.566 | 3.947 | 4.329 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137 - 50 0.48653399 -6.1788509 0 -5.4492324 -1.6017778 4738.2137 - 100 0.53411175 -6.249885 0 -5.4489177 -1.9317606 4738.2137 - 150 0.53646658 -6.2527206 0 -5.4482219 -1.9689568 4738.2137 - 200 0.54551611 -6.2656326 0 -5.4475631 -2.0042104 4738.2137 - 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 4738.2137 -Loop time of 1.48981 on 4 procs for 250 steps with 4000 atoms - -Performance: 72492.623 tau/day, 167.807 timesteps/s -96.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.22803 | 0.67101 | 1.1622 | 43.7 | 45.04 -Neigh | 0.20611 | 0.2259 | 0.23756 | 2.5 | 15.16 -Comm | 0.085412 | 0.58198 | 1.045 | 47.7 | 39.06 -Output | 0.00016332 | 0.00028861 | 0.0006516 | 0.0 | 0.02 -Modify | 0.0069213 | 0.0070978 | 0.0072331 | 0.1 | 0.48 -Other | | 0.003534 | | | 0.24 - -Nlocal: 1000 ave 1001 max 999 min -Histogram: 1 0 0 0 0 2 0 0 0 1 -Nghost: 8727 ave 8761 max 8674 min -Histogram: 1 0 0 0 0 0 1 1 0 1 -Neighs: 149349 ave 260848 max 51191 min -Histogram: 1 1 0 0 0 0 1 0 0 1 - -Total # of neighbors = 597396 -Ave neighs/atom = 149.349 -Neighbor list builds = 25 -Dangerous builds = 0 -Total wall time: 0:00:01 diff --git a/examples/balance/log.27Nov18.balance.group.static.g++.2 b/examples/balance/log.27Nov18.balance.group.static.g++.2 deleted file mode 100644 index eb7a506e2c..0000000000 --- a/examples/balance/log.27Nov18.balance.group.static.g++.2 +++ /dev/null @@ -1,146 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 3d Lennard-Jones melt - -units lj -atom_style atomic -processors * 1 1 - -variable factor index 1.0 - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 -region box block 0 10 0 10 0 10 -create_box 3 box -Created orthogonal box = (0 0 0) to (16.796 16.796 16.796) - 2 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 4000 atoms - Time spent = 0.00050807 secs -mass * 1.0 - -region long block 3 6 0 10 0 10 -set region long type 2 - 1400 settings made for type - -velocity all create 1.0 87287 - -pair_style lj/cut 2.5 -pair_coeff * * 1.0 1.0 2.5 -pair_coeff * 2 1.0 1.0 5.0 - -neighbor 0.3 bin -neigh_modify every 2 delay 4 check yes - -balance 1.0 shift x 5 1.1 # out unweighted.txt -Neighbor list info ... - update every 2 steps, delay 4 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.3 - ghost atom cutoff = 5.3 - binsize = 2.65, bins = 7 7 7 - 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 - rebalancing time: 0.000545979 seconds - iteration count = 1 - initial/final max load/proc = 2000 2000 - initial/final imbalance factor = 1 1 - x cuts: 0 0.5 1 - y cuts: 0 1 - z cuts: 0 1 - -balance 1.0 x uniform - rebalancing time: 0.000159502 seconds - iteration count = 0 - initial/final max load/proc = 2000 2000 - initial/final imbalance factor = 1 1 - x cuts: 0 0.5 1 - y cuts: 0 1 - z cuts: 0 1 - -variable weight atom (type==1)*1.0+(type==2)*v_factor -balance 1.0 shift x 5 1.1 weight var weight # out weighted_var.txt - rebalancing time: 0.000320673 seconds - iteration count = 1 - weight variable: weight - initial/final max load/proc = 2000 2000 - initial/final imbalance factor = 1 1 - x cuts: 0 0.5 1 - y cuts: 0 1 - z cuts: 0 1 - -balance 1.0 x uniform - rebalancing time: 0.000132561 seconds - iteration count = 0 - initial/final max load/proc = 2000 2000 - initial/final imbalance factor = 1 1 - x cuts: 0 0.5 1 - y cuts: 0 1 - z cuts: 0 1 - -group fast type 1 -2600 atoms in group fast -group slow type 2 -1400 atoms in group slow -balance 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow ${factor} # out weighted_group.txt -balance 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow 1.0 - rebalancing time: 0.000235796 seconds - iteration count = 1 - group weights: fast=1 slow=1 - initial/final max load/proc = 2000 2000 - initial/final imbalance factor = 1 1 - x cuts: 0 0.5 1 - y cuts: 0 1 - z cuts: 0 1 - -fix 1 all nve - -#dump id all atom 50 dump.melt - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -thermo 50 -run 250 -Per MPI rank memory allocation (min/avg/max) = 4.297 | 4.488 | 4.678 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -6.9453205 0 -5.4456955 -5.6812358 - 50 0.49578514 -6.1929216 0 -5.4494298 -1.6668039 - 100 0.53275389 -6.2475932 0 -5.4486622 -1.9063885 - 150 0.53316457 -6.2483202 0 -5.4487733 -1.9476162 - 200 0.536665 -6.2530113 0 -5.448215 -1.933468 - 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 -Loop time of 1.99136 on 2 procs for 250 steps with 4000 atoms - -Performance: 54234.216 tau/day, 125.542 timesteps/s -99.0% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.0081 | 1.262 | 1.5159 | 22.6 | 63.37 -Neigh | 0.40357 | 0.41713 | 0.43069 | 2.1 | 20.95 -Comm | 0.033287 | 0.30076 | 0.56822 | 48.8 | 15.10 -Output | 0.00014162 | 0.00015128 | 0.00016093 | 0.0 | 0.01 -Modify | 0.0072243 | 0.0073462 | 0.007468 | 0.1 | 0.37 -Other | | 0.003961 | | | 0.20 - -Nlocal: 2000 ave 2051 max 1949 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 10443 ave 10506 max 10380 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 298332 ave 363449 max 233215 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 596664 -Ave neighs/atom = 149.166 -Neighbor list builds = 24 -Dangerous builds = 0 -Total wall time: 0:00:02 diff --git a/examples/balance/log.27Nov18.balance.group.static.g++.4 b/examples/balance/log.27Nov18.balance.group.static.g++.4 deleted file mode 100644 index d792f1af93..0000000000 --- a/examples/balance/log.27Nov18.balance.group.static.g++.4 +++ /dev/null @@ -1,146 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 3d Lennard-Jones melt - -units lj -atom_style atomic -processors * 1 1 - -variable factor index 1.0 - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 -region box block 0 10 0 10 0 10 -create_box 3 box -Created orthogonal box = (0 0 0) to (16.796 16.796 16.796) - 4 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 4000 atoms - Time spent = 0.000426769 secs -mass * 1.0 - -region long block 3 6 0 10 0 10 -set region long type 2 - 1400 settings made for type - -velocity all create 1.0 87287 - -pair_style lj/cut 2.5 -pair_coeff * * 1.0 1.0 2.5 -pair_coeff * 2 1.0 1.0 5.0 - -neighbor 0.3 bin -neigh_modify every 2 delay 4 check yes - -balance 1.0 shift x 5 1.1 # out unweighted.txt -Neighbor list info ... - update every 2 steps, delay 4 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.3 - ghost atom cutoff = 5.3 - binsize = 2.65, bins = 7 7 7 - 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 - rebalancing time: 0.000867605 seconds - iteration count = 2 - initial/final max load/proc = 1200 1200 - initial/final imbalance factor = 1.2 1.2 - x cuts: 0 0.25 0.5 0.6875 1 - y cuts: 0 1 - z cuts: 0 1 - -balance 1.0 x uniform - rebalancing time: 0.000295401 seconds - iteration count = 0 - initial/final max load/proc = 1200 1200 - initial/final imbalance factor = 1.2 1.2 - x cuts: 0 0.25 0.5 0.75 1 - y cuts: 0 1 - z cuts: 0 1 - -variable weight atom (type==1)*1.0+(type==2)*v_factor -balance 1.0 shift x 5 1.1 weight var weight # out weighted_var.txt - rebalancing time: 0.000428915 seconds - iteration count = 2 - weight variable: weight - initial/final max load/proc = 1200 1200 - initial/final imbalance factor = 1.2 1.2 - x cuts: 0 0.25 0.5 0.6875 1 - y cuts: 0 1 - z cuts: 0 1 - -balance 1.0 x uniform - rebalancing time: 0.000236273 seconds - iteration count = 0 - initial/final max load/proc = 1200 1200 - initial/final imbalance factor = 1.2 1.2 - x cuts: 0 0.25 0.5 0.75 1 - y cuts: 0 1 - z cuts: 0 1 - -group fast type 1 -2600 atoms in group fast -group slow type 2 -1400 atoms in group slow -balance 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow ${factor} # out weighted_group.txt -balance 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow 1.0 - rebalancing time: 0.000319958 seconds - iteration count = 2 - group weights: fast=1 slow=1 - initial/final max load/proc = 1200 1200 - initial/final imbalance factor = 1.2 1.2 - x cuts: 0 0.25 0.5 0.6875 1 - y cuts: 0 1 - z cuts: 0 1 - -fix 1 all nve - -#dump id all atom 50 dump.melt - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -thermo 50 -run 250 -Per MPI rank memory allocation (min/avg/max) = 3.426 | 3.713 | 4.188 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -6.9453205 0 -5.4456955 -5.6812358 - 50 0.48653399 -6.1788509 0 -5.4492324 -1.6017778 - 100 0.53411175 -6.249885 0 -5.4489177 -1.9317606 - 150 0.53646658 -6.2527206 0 -5.4482219 -1.9689568 - 200 0.54551611 -6.2656326 0 -5.4475631 -2.0042104 - 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 -Loop time of 1.45972 on 4 procs for 250 steps with 4000 atoms - -Performance: 73986.752 tau/day, 171.266 timesteps/s -95.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.34936 | 0.66325 | 1.1729 | 40.9 | 45.44 -Neigh | 0.15811 | 0.20835 | 0.24806 | 7.4 | 14.27 -Comm | 0.04955 | 0.57875 | 0.86745 | 43.6 | 39.65 -Output | 0.00015831 | 0.00028872 | 0.00064492 | 0.0 | 0.02 -Modify | 0.0030367 | 0.0040676 | 0.0050561 | 1.1 | 0.28 -Other | | 0.005014 | | | 0.34 - -Nlocal: 1000 ave 1263 max 712 min -Histogram: 1 0 0 0 1 0 1 0 0 1 -Nghost: 8711.5 ave 9045 max 8325 min -Histogram: 1 0 0 0 0 1 1 0 0 1 -Neighs: 149325 ave 275165 max 77227 min -Histogram: 2 0 0 0 1 0 0 0 0 1 - -Total # of neighbors = 597299 -Ave neighs/atom = 149.325 -Neighbor list builds = 23 -Dangerous builds = 0 -Total wall time: 0:00:01 diff --git a/examples/balance/log.27Nov18.balance.kspace.g++.2 b/examples/balance/log.27Nov18.balance.kspace.g++.2 deleted file mode 100644 index 13e24ed17a..0000000000 --- a/examples/balance/log.27Nov18.balance.kspace.g++.2 +++ /dev/null @@ -1,117 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 3d Lennard-Jones melt - -units lj -#atom_style charge -processors * 1 1 - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 -region box block 0 10 0 10 0 10 -create_box 3 box -Created orthogonal box = (0 0 0) to (16.796 16.796 16.796) - 2 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 4000 atoms - Time spent = 0.000510931 secs -mass * 1.0 - -region long block 3 6 0 10 0 10 -set region long type 2 - 1400 settings made for type -#set type 1:2 charge 0.0 - -velocity all create 1.0 87287 - -pair_style lj/long/coul/long long off 2.5 -pair_coeff * * 1.0 1.0 2.5 -pair_coeff * 2 1.0 1.0 5.0 - -kspace_style pppm/disp 1.0e-4 -kspace_modify gewald/disp 0.1 - -neighbor 0.3 bin -neigh_modify every 2 delay 4 check yes - -group fast type 1 -2600 atoms in group fast -group slow type 2 -1400 atoms in group slow -fix 0 all balance 20 1.0 shift x 5 1.0 weight group 2 fast 1.0 slow 2.0 weight time 0.66 - -fix 1 all nve - -#dump id all atom 50 dump.melt - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -thermo 50 -run 500 -PPPMDisp initialization ... - Dispersion G vector (1/distance) = 0.1 - Dispersion grid = 2 2 2 - Dispersion stencil order = 5 - Dispersion estimated absolute RMS force accuracy = 1.01251 - Dispersion estimated absolute real space RMS force accuracy = 1.01251 - Dispersion estimated absolute kspace RMS force accuracy = 7.29446e-07 - Disperion estimated relative force accuracy = 1.01251 - using double precision FFTs - 3d grid and FFT values/proc dispersion = 294 4 -Neighbor list info ... - update every 2 steps, delay 4 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.3 - ghost atom cutoff = 5.3 - binsize = 2.65, bins = 7 7 7 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/long/coul/long, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.846 | 5.014 | 5.182 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 1 52.148338 0 53.647963 94.09503 4738.2137 - 50 17.747599 42.836975 0 69.451719 143.44398 4738.2137 - 100 9.0390947 49.78615 0 63.341402 117.79296 4738.2137 - 150 13.456072 47.810527 0 67.989589 140.52068 4738.2137 - 200 11.358932 52.542448 0 69.576586 142.87196 4738.2137 - 250 13.204593 48.601437 0 68.403375 134.97484 4738.2137 - 300 12.061996 50.642194 0 68.730665 133.27077 4738.2137 - 350 14.107163 50.201375 0 71.356829 143.54662 4738.2137 - 400 12.053939 50.221116 0 68.297504 132.01999 4738.2137 - 450 13.523963 50.829687 0 71.11056 143.8183 4738.2137 - 500 13.135822 50.150114 0 69.848921 137.26364 4738.2137 -Loop time of 6.95261 on 2 procs for 500 steps with 4000 atoms - -Performance: 31067.471 tau/day, 71.915 timesteps/s -99.5% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 2.8521 | 3.0997 | 3.3472 | 14.1 | 44.58 -Kspace | 1.1859 | 1.303 | 1.4202 | 10.3 | 18.74 -Neigh | 2.2324 | 2.387 | 2.5417 | 10.0 | 34.33 -Comm | 0.1003 | 0.12513 | 0.14996 | 7.0 | 1.80 -Output | 0.00033641 | 0.00036693 | 0.00039744 | 0.0 | 0.01 -Modify | 0.026408 | 0.02737 | 0.028331 | 0.6 | 0.39 -Other | | 0.009989 | | | 0.14 - -Nlocal: 2000 ave 2316 max 1684 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 9543.5 ave 9675 max 9412 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 254445 ave 276022 max 232868 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 508890 -Ave neighs/atom = 127.222 -Neighbor list builds = 124 -Dangerous builds = 97 -Total wall time: 0:00:06 diff --git a/examples/balance/log.27Nov18.balance.kspace.g++.4 b/examples/balance/log.27Nov18.balance.kspace.g++.4 deleted file mode 100644 index 7745b3e602..0000000000 --- a/examples/balance/log.27Nov18.balance.kspace.g++.4 +++ /dev/null @@ -1,117 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 3d Lennard-Jones melt - -units lj -#atom_style charge -processors * 1 1 - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 -region box block 0 10 0 10 0 10 -create_box 3 box -Created orthogonal box = (0 0 0) to (16.796 16.796 16.796) - 4 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 4000 atoms - Time spent = 0.000432491 secs -mass * 1.0 - -region long block 3 6 0 10 0 10 -set region long type 2 - 1400 settings made for type -#set type 1:2 charge 0.0 - -velocity all create 1.0 87287 - -pair_style lj/long/coul/long long off 2.5 -pair_coeff * * 1.0 1.0 2.5 -pair_coeff * 2 1.0 1.0 5.0 - -kspace_style pppm/disp 1.0e-4 -kspace_modify gewald/disp 0.1 - -neighbor 0.3 bin -neigh_modify every 2 delay 4 check yes - -group fast type 1 -2600 atoms in group fast -group slow type 2 -1400 atoms in group slow -fix 0 all balance 20 1.0 shift x 5 1.0 weight group 2 fast 1.0 slow 2.0 weight time 0.66 - -fix 1 all nve - -#dump id all atom 50 dump.melt - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -thermo 50 -run 500 -PPPMDisp initialization ... - Dispersion G vector (1/distance) = 0.1 - Dispersion grid = 2 2 2 - Dispersion stencil order = 5 - Dispersion estimated absolute RMS force accuracy = 1.01251 - Dispersion estimated absolute real space RMS force accuracy = 1.01251 - Dispersion estimated absolute kspace RMS force accuracy = 7.29446e-07 - Disperion estimated relative force accuracy = 1.01251 - using double precision FFTs - 3d grid and FFT values/proc dispersion = 294 4 -Neighbor list info ... - update every 2 steps, delay 4 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.3 - ghost atom cutoff = 5.3 - binsize = 2.65, bins = 7 7 7 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/long/coul/long, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.291 | 4.423 | 4.656 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 1 52.148338 0 53.647963 94.09503 4738.2137 - 50 17.850656 42.620113 0 69.389403 142.80556 4738.2137 - 100 9.4607189 49.700118 0 63.887649 117.51739 4738.2137 - 150 13.992056 47.731988 0 68.714825 140.56926 4738.2137 - 200 11.617635 52.509394 0 69.93149 142.6933 4738.2137 - 250 13.536287 48.33108 0 68.630434 133.91794 4738.2137 - 300 12.619985 50.328139 0 69.253384 132.46719 4738.2137 - 350 14.497923 50.092405 0 71.833853 143.39356 4738.2137 - 400 12.228079 50.202361 0 68.539894 131.75614 4738.2137 - 450 14.01349 50.908526 0 71.923506 144.25732 4738.2137 - 500 13.277341 50.381613 0 70.292644 137.20282 4738.2137 -Loop time of 6.17838 on 4 procs for 500 steps with 4000 atoms - -Performance: 34960.628 tau/day, 80.927 timesteps/s -93.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.74813 | 1.6453 | 2.5052 | 65.7 | 26.63 -Kspace | 1.036 | 2.9098 | 4.5974 | 94.8 | 47.10 -Neigh | 0.27464 | 1.2099 | 2.4155 | 84.8 | 19.58 -Comm | 0.1711 | 0.36843 | 0.5217 | 25.2 | 5.96 -Output | 0.00052595 | 0.0053349 | 0.0074508 | 3.8 | 0.09 -Modify | 0.023363 | 0.027308 | 0.032521 | 2.3 | 0.44 -Other | | 0.01228 | | | 0.20 - -Nlocal: 1000 ave 2002 max 241 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Nghost: 7608 ave 9312 max 5850 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 127345 ave 211903 max 47616 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 509381 -Ave neighs/atom = 127.345 -Neighbor list builds = 124 -Dangerous builds = 97 -Total wall time: 0:00:06 diff --git a/examples/balance/log.27Nov18.balance.neigh.dynamic.g++.2 b/examples/balance/log.27Nov18.balance.neigh.dynamic.g++.2 deleted file mode 100644 index aef8d90889..0000000000 --- a/examples/balance/log.27Nov18.balance.neigh.dynamic.g++.2 +++ /dev/null @@ -1,228 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 3d Lennard-Jones melt - -units lj -atom_style atomic -processors * 1 1 - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 -region box block 0 10 0 10 0 10 -create_box 3 box -Created orthogonal box = (0 0 0) to (16.796 16.796 16.796) - 2 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 4000 atoms - Time spent = 0.000553608 secs -mass * 1.0 - -region long block 3 6 0 10 0 10 -set region long type 2 - 1400 settings made for type - -velocity all create 1.0 87287 - -pair_style lj/cut 2.5 -pair_coeff * * 1.0 1.0 2.5 -pair_coeff * 2 1.0 1.0 5.0 - -neighbor 0.3 bin -neigh_modify every 2 delay 4 check yes -fix p all property/atom d_WEIGHT -fix 0 all balance 50 1.0 shift x 5 1.0 weight neigh 0.8 weight store WEIGHT -compute p all property/atom d_WEIGHT -variable maximb equal f_0[1] -variable iter equal f_0[2] -variable prev equal f_0[3] -variable final equal f_0 - -#fix 3 all print 50 "${iter} ${prev} ${final} ${maximb}" - -fix 1 all nve - -#dump id all atom 50 dump.melt -#dump id all custom 50 dump.lammpstrj id type x y z c_p - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mp4 c_p type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 amap 0.0 2.0 cf 0.1 3 min blue 0.5 green max red - -thermo 50 -run 500 -Neighbor list info ... - update every 2 steps, delay 4 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.3 - ghost atom cutoff = 5.3 - binsize = 2.65, bins = 7 7 7 - 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 -WARNING: Balance weight neigh skipped b/c no list found (src/imbalance_neigh.cpp:65) -Per MPI rank memory allocation (min/avg/max) = 4.562 | 4.753 | 4.944 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137 - 50 0.49578514 -6.1929216 0 -5.4494298 -1.6668039 4738.2137 - 100 0.53275389 -6.2475932 0 -5.4486622 -1.9063885 4738.2137 - 150 0.53316457 -6.2483202 0 -5.4487733 -1.9476162 4738.2137 - 200 0.536665 -6.2530113 0 -5.448215 -1.933468 4738.2137 - 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 4738.2137 - 300 0.55111476 -6.2727642 0 -5.4462987 -2.0384873 4738.2137 - 350 0.55211503 -6.274054 0 -5.4460885 -2.0116976 4738.2137 - 400 0.54638463 -6.2661715 0 -5.4467995 -1.992248 4738.2137 - 450 0.55885307 -6.2852263 0 -5.4471563 -2.0669747 4738.2137 - 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 4738.2137 -Loop time of 3.92718 on 2 procs for 500 steps with 4000 atoms - -Performance: 55001.290 tau/day, 127.318 timesteps/s -99.2% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 2.2902 | 2.6102 | 2.9303 | 19.8 | 66.47 -Neigh | 0.89715 | 0.89718 | 0.8972 | 0.0 | 22.85 -Comm | 0.074355 | 0.39408 | 0.7138 | 50.9 | 10.03 -Output | 0.0003202 | 0.00035989 | 0.00039959 | 0.0 | 0.01 -Modify | 0.016438 | 0.016832 | 0.017226 | 0.3 | 0.43 -Other | | 0.008523 | | | 0.22 - -Nlocal: 2000 ave 2056 max 1944 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 10457.5 ave 10508 max 10407 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 298070 ave 333007 max 263132 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 596139 -Ave neighs/atom = 149.035 -Neighbor list builds = 51 -Dangerous builds = 0 -run 500 -Per MPI rank memory allocation (min/avg/max) = 4.569 | 4.758 | 4.946 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 4738.2137 - 550 0.54137926 -6.2592773 0 -5.4474115 -1.9770236 4738.2137 - 600 0.54022886 -6.2573307 0 -5.44719 -1.9619637 4738.2137 - 650 0.54709009 -6.2678862 0 -5.4474562 -1.9958342 4738.2137 - 700 0.54590044 -6.2656903 0 -5.4470444 -1.9957108 4738.2137 - 750 0.55098488 -6.2724831 0 -5.4462124 -2.0287523 4738.2137 - 800 0.5520987 -6.2739184 0 -5.4459774 -2.0084991 4738.2137 - 850 0.54963958 -6.2702473 0 -5.445994 -1.9740031 4738.2137 - 900 0.54390586 -6.2615476 0 -5.4458927 -1.9400871 4738.2137 - 950 0.54741732 -6.2665755 0 -5.4456548 -1.9466417 4738.2137 - 1000 0.54200867 -6.2591246 0 -5.4463148 -1.8881624 4738.2137 -Loop time of 3.83028 on 2 procs for 500 steps with 4000 atoms - -Performance: 56392.741 tau/day, 130.539 timesteps/s -99.6% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 2.263 | 2.5605 | 2.858 | 18.6 | 66.85 -Neigh | 0.8789 | 0.88341 | 0.88791 | 0.5 | 23.06 -Comm | 0.068052 | 0.36076 | 0.65347 | 48.7 | 9.42 -Output | 0.0003016 | 0.0003438 | 0.000386 | 0.0 | 0.01 -Modify | 0.016381 | 0.016829 | 0.017277 | 0.3 | 0.44 -Other | | 0.008426 | | | 0.22 - -Nlocal: 2000 ave 2049 max 1951 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 10389 ave 10436 max 10342 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 300836 ave 335987 max 265684 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 601671 -Ave neighs/atom = 150.418 -Neighbor list builds = 51 -Dangerous builds = 0 -run 500 -Per MPI rank memory allocation (min/avg/max) = 4.569 | 4.758 | 4.946 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 1000 0.54200867 -6.2591246 0 -5.4463148 -1.8881624 4738.2137 - 1050 0.54633412 -6.2656384 0 -5.4463421 -1.9012895 4738.2137 - 1100 0.54325667 -6.2612166 0 -5.4465353 -1.8870463 4738.2137 - 1150 0.55057583 -6.2719187 0 -5.4462614 -1.9575881 4738.2137 - 1200 0.53728175 -6.251744 0 -5.4460228 -1.8124097 4738.2137 - 1250 0.54077561 -6.2567544 0 -5.4457938 -1.8418134 4738.2137 - 1300 0.54430333 -6.260995 0 -5.4447442 -1.856351 4738.2137 - 1350 0.55097839 -6.2715909 0 -5.4453299 -1.9014337 4738.2137 - 1400 0.53858139 -6.2526781 0 -5.445008 -1.7965773 4738.2137 - 1450 0.5421844 -6.2574683 0 -5.444395 -1.7901189 4738.2137 - 1500 0.54200617 -6.2571433 0 -5.4443373 -1.8000344 4738.2137 -Loop time of 3.81946 on 2 procs for 500 steps with 4000 atoms - -Performance: 56552.445 tau/day, 130.908 timesteps/s -99.6% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 2.2594 | 2.5549 | 2.8504 | 18.5 | 66.89 -Neigh | 0.86746 | 0.87203 | 0.8766 | 0.5 | 22.83 -Comm | 0.06715 | 0.36699 | 0.66684 | 49.5 | 9.61 -Output | 0.00029325 | 0.00033867 | 0.00038409 | 0.0 | 0.01 -Modify | 0.016529 | 0.016817 | 0.017105 | 0.2 | 0.44 -Other | | 0.008371 | | | 0.22 - -Nlocal: 2000 ave 2034 max 1966 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 10386 ave 10936 max 9836 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 302958 ave 337188 max 268729 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 605917 -Ave neighs/atom = 151.479 -Neighbor list builds = 51 -Dangerous builds = 0 -run 500 -Per MPI rank memory allocation (min/avg/max) = 4.569 | 4.758 | 4.946 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 1500 0.54200617 -6.2571433 0 -5.4443373 -1.8000344 4738.2137 - 1550 0.53713593 -6.2504069 0 -5.4449044 -1.764709 4738.2137 - 1600 0.54679556 -6.2646482 0 -5.4446599 -1.8115775 4738.2137 - 1650 0.53806577 -6.2519006 0 -5.4450037 -1.7409142 4738.2137 - 1700 0.5347951 -6.2468962 0 -5.4449041 -1.7162331 4738.2137 - 1750 0.53714568 -6.2506577 0 -5.4451406 -1.7340499 4738.2137 - 1800 0.52749839 -6.2358664 0 -5.4448167 -1.6874961 4738.2137 - 1850 0.54585956 -6.2629394 0 -5.4443547 -1.7758764 4738.2137 - 1900 0.53010831 -6.2387561 0 -5.4437925 -1.6381825 4738.2137 - 1950 0.54288557 -6.2583073 0 -5.4441826 -1.7368524 4738.2137 - 2000 0.52765923 -6.2348572 0 -5.4435663 -1.5588839 4738.2137 -Loop time of 3.78423 on 2 procs for 500 steps with 4000 atoms - -Performance: 57078.976 tau/day, 132.127 timesteps/s -99.4% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 2.2449 | 2.5388 | 2.8328 | 18.4 | 67.09 -Neigh | 0.85527 | 0.85828 | 0.86129 | 0.3 | 22.68 -Comm | 0.065453 | 0.36215 | 0.65885 | 49.3 | 9.57 -Output | 0.00030518 | 0.00032794 | 0.00035071 | 0.0 | 0.01 -Modify | 0.016444 | 0.016597 | 0.01675 | 0.1 | 0.44 -Other | | 0.008044 | | | 0.21 - -Nlocal: 2000 ave 2031 max 1969 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 10334 ave 10921 max 9747 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 303988 ave 338808 max 269168 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 607976 -Ave neighs/atom = 151.994 -Neighbor list builds = 51 -Dangerous builds = 0 - -Total wall time: 0:00:15 diff --git a/examples/balance/log.27Nov18.balance.neigh.dynamic.g++.4 b/examples/balance/log.27Nov18.balance.neigh.dynamic.g++.4 deleted file mode 100644 index 08a59785d4..0000000000 --- a/examples/balance/log.27Nov18.balance.neigh.dynamic.g++.4 +++ /dev/null @@ -1,228 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 3d Lennard-Jones melt - -units lj -atom_style atomic -processors * 1 1 - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 -region box block 0 10 0 10 0 10 -create_box 3 box -Created orthogonal box = (0 0 0) to (16.796 16.796 16.796) - 4 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 4000 atoms - Time spent = 0.000430107 secs -mass * 1.0 - -region long block 3 6 0 10 0 10 -set region long type 2 - 1400 settings made for type - -velocity all create 1.0 87287 - -pair_style lj/cut 2.5 -pair_coeff * * 1.0 1.0 2.5 -pair_coeff * 2 1.0 1.0 5.0 - -neighbor 0.3 bin -neigh_modify every 2 delay 4 check yes -fix p all property/atom d_WEIGHT -fix 0 all balance 50 1.0 shift x 5 1.0 weight neigh 0.8 weight store WEIGHT -compute p all property/atom d_WEIGHT -variable maximb equal f_0[1] -variable iter equal f_0[2] -variable prev equal f_0[3] -variable final equal f_0 - -#fix 3 all print 50 "${iter} ${prev} ${final} ${maximb}" - -fix 1 all nve - -#dump id all atom 50 dump.melt -#dump id all custom 50 dump.lammpstrj id type x y z c_p - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mp4 c_p type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 amap 0.0 2.0 cf 0.1 3 min blue 0.5 green max red - -thermo 50 -run 500 -Neighbor list info ... - update every 2 steps, delay 4 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.3 - ghost atom cutoff = 5.3 - binsize = 2.65, bins = 7 7 7 - 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 -WARNING: Balance weight neigh skipped b/c no list found (src/imbalance_neigh.cpp:65) -Per MPI rank memory allocation (min/avg/max) = 3.691 | 4.072 | 4.454 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137 - 50 0.48653399 -6.1788509 0 -5.4492324 -1.6017778 4738.2137 - 100 0.53411175 -6.249885 0 -5.4489177 -1.9317606 4738.2137 - 150 0.53646658 -6.2527206 0 -5.4482219 -1.9689568 4738.2137 - 200 0.54551611 -6.2656326 0 -5.4475631 -2.0042104 4738.2137 - 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 4738.2137 - 300 0.5477618 -6.2678071 0 -5.4463698 -1.997842 4738.2137 - 350 0.55600296 -6.2801497 0 -5.4463538 -2.0394056 4738.2137 - 400 0.53241503 -6.2453665 0 -5.4469436 -1.878594 4738.2137 - 450 0.5439158 -6.2623 0 -5.4466302 -1.9744161 4738.2137 - 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 4738.2137 -Loop time of 2.45924 on 4 procs for 500 steps with 4000 atoms - -Performance: 87831.985 tau/day, 203.315 timesteps/s -97.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.1372 | 1.4179 | 1.6656 | 18.1 | 57.66 -Neigh | 0.30681 | 0.46841 | 0.69372 | 24.1 | 19.05 -Comm | 0.46019 | 0.55206 | 0.6052 | 7.7 | 22.45 -Output | 0.00034404 | 0.0005753 | 0.001132 | 0.0 | 0.02 -Modify | 0.007339 | 0.0099927 | 0.013719 | 2.7 | 0.41 -Other | | 0.01029 | | | 0.42 - -Nlocal: 1000 ave 1549 max 605 min -Histogram: 2 0 0 0 0 0 1 0 0 1 -Nghost: 8755 ave 9851 max 8071 min -Histogram: 2 0 0 0 0 1 0 0 0 1 -Neighs: 149308 ave 164554 max 128538 min -Histogram: 1 0 0 1 0 0 0 0 0 2 - -Total # of neighbors = 597231 -Ave neighs/atom = 149.308 -Neighbor list builds = 50 -Dangerous builds = 0 -run 500 -Per MPI rank memory allocation (min/avg/max) = 4.097 | 4.288 | 4.475 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 4738.2137 - 550 0.53879347 -6.2554274 0 -5.4474393 -1.9756834 4738.2137 - 600 0.54275982 -6.2616799 0 -5.4477437 -1.9939993 4738.2137 - 650 0.54526651 -6.265098 0 -5.4474027 -2.0303672 4738.2137 - 700 0.54369381 -6.263201 0 -5.4478642 -1.9921967 4738.2137 - 750 0.54452777 -6.2640839 0 -5.4474964 -1.9658675 4738.2137 - 800 0.55061744 -6.2725556 0 -5.4468359 -2.0100922 4738.2137 - 850 0.55371614 -6.2763992 0 -5.4460326 -2.0065329 4738.2137 - 900 0.54756622 -6.2668303 0 -5.4456863 -1.9796122 4738.2137 - 950 0.54791593 -6.2673161 0 -5.4456477 -1.9598278 4738.2137 - 1000 0.54173198 -6.2586101 0 -5.4462153 -1.9007466 4738.2137 -Loop time of 2.389 on 4 procs for 500 steps with 4000 atoms - -Performance: 90414.542 tau/day, 209.293 timesteps/s -97.2% 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.2112 | 1.381 | 1.5214 | 11.0 | 57.81 -Neigh | 0.29746 | 0.48382 | 0.74669 | 27.5 | 20.25 -Comm | 0.40449 | 0.50032 | 0.57922 | 9.4 | 20.94 -Output | 0.00033617 | 0.00064272 | 0.0013907 | 0.0 | 0.03 -Modify | 0.0070128 | 0.010942 | 0.015494 | 3.7 | 0.46 -Other | | 0.01223 | | | 0.51 - -Nlocal: 1000 ave 1569 max 595 min -Histogram: 2 0 0 0 0 0 1 0 0 1 -Nghost: 8715.25 ave 9779 max 8018 min -Histogram: 2 0 0 0 0 1 0 0 0 1 -Neighs: 150170 ave 163282 max 132114 min -Histogram: 1 0 0 1 0 0 0 0 0 2 - -Total # of neighbors = 600678 -Ave neighs/atom = 150.169 -Neighbor list builds = 53 -Dangerous builds = 0 -run 500 -Per MPI rank memory allocation (min/avg/max) = 4.097 | 4.288 | 4.475 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 1000 0.54173198 -6.2586101 0 -5.4462153 -1.9007466 4738.2137 - 1050 0.54629742 -6.2657526 0 -5.4465113 -1.945821 4738.2137 - 1100 0.55427881 -6.2781733 0 -5.446963 -2.0021027 4738.2137 - 1150 0.54730654 -6.267257 0 -5.4465025 -1.9420678 4738.2137 - 1200 0.5388281 -6.2547963 0 -5.4467562 -1.890178 4738.2137 - 1250 0.54848768 -6.2694237 0 -5.4468979 -1.9636797 4738.2137 - 1300 0.54134321 -6.2590728 0 -5.447261 -1.9170271 4738.2137 - 1350 0.53564389 -6.2501521 0 -5.4468871 -1.8642306 4738.2137 - 1400 0.53726924 -6.2518379 0 -5.4461355 -1.8544028 4738.2137 - 1450 0.54525935 -6.2632653 0 -5.4455808 -1.9072158 4738.2137 - 1500 0.54223346 -6.2591057 0 -5.4459588 -1.8866985 4738.2137 -Loop time of 2.45895 on 4 procs for 500 steps with 4000 atoms - -Performance: 87842.291 tau/day, 203.339 timesteps/s -95.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.2592 | 1.4017 | 1.5327 | 11.0 | 57.01 -Neigh | 0.28831 | 0.47661 | 0.75988 | 28.7 | 19.38 -Comm | 0.41426 | 0.54907 | 0.6044 | 10.6 | 22.33 -Output | 0.0003705 | 0.00060898 | 0.0012109 | 0.0 | 0.02 -Modify | 0.014004 | 0.016774 | 0.020669 | 1.9 | 0.68 -Other | | 0.01415 | | | 0.58 - -Nlocal: 1000 ave 1543 max 605 min -Histogram: 2 0 0 0 0 0 1 0 0 1 -Nghost: 8704.5 ave 9803 max 7983 min -Histogram: 2 0 0 0 0 1 0 0 0 1 -Neighs: 150494 ave 166334 max 129306 min -Histogram: 1 0 0 1 0 0 0 0 0 2 - -Total # of neighbors = 601974 -Ave neighs/atom = 150.494 -Neighbor list builds = 51 -Dangerous builds = 0 -run 500 -Per MPI rank memory allocation (min/avg/max) = 4.097 | 4.288 | 4.475 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 1500 0.54223346 -6.2591057 0 -5.4459588 -1.8866985 4738.2137 - 1550 0.55327018 -6.2750126 0 -5.4453148 -1.9506585 4738.2137 - 1600 0.54419004 -6.2612622 0 -5.4451812 -1.8559437 4738.2137 - 1650 0.54710034 -6.2661938 0 -5.4457484 -1.8882763 4738.2137 - 1700 0.53665691 -6.2504958 0 -5.4457117 -1.8068009 4738.2137 - 1750 0.5486471 -6.2681127 0 -5.4453478 -1.8662656 4738.2137 - 1800 0.54476222 -6.2615086 0 -5.4445695 -1.8352838 4738.2137 - 1850 0.54143048 -6.2555517 0 -5.443609 -1.8005726 4738.2137 - 1900 0.53992511 -6.254136 0 -5.4444508 -1.7768715 4738.2137 - 1950 0.54665895 -6.2640958 0 -5.4443124 -1.7946993 4738.2137 - 2000 0.5455751 -6.2625337 0 -5.4443756 -1.8072242 4738.2137 -Loop time of 2.42708 on 4 procs for 500 steps with 4000 atoms - -Performance: 88995.678 tau/day, 206.009 timesteps/s -97.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.2482 | 1.3902 | 1.5329 | 10.6 | 57.28 -Neigh | 0.31099 | 0.50813 | 0.78451 | 28.1 | 20.94 -Comm | 0.37293 | 0.5011 | 0.58684 | 11.2 | 20.65 -Output | 0.00033593 | 0.00060582 | 0.0012991 | 0.0 | 0.02 -Modify | 0.007091 | 0.0097566 | 0.013303 | 2.7 | 0.40 -Other | | 0.01727 | | | 0.71 - -Nlocal: 1000 ave 1539 max 607 min -Histogram: 2 0 0 0 0 0 1 0 0 1 -Nghost: 8677 ave 9837 max 7981 min -Histogram: 2 0 0 0 1 0 0 0 0 1 -Neighs: 151655 ave 168263 max 129443 min -Histogram: 1 0 0 1 0 0 0 0 0 2 - -Total # of neighbors = 606619 -Ave neighs/atom = 151.655 -Neighbor list builds = 56 -Dangerous builds = 0 - -Total wall time: 0:00:09 diff --git a/examples/balance/log.27Nov18.balance.neigh.rcb.g++.2 b/examples/balance/log.27Nov18.balance.neigh.rcb.g++.2 deleted file mode 100644 index 42b04f818c..0000000000 --- a/examples/balance/log.27Nov18.balance.neigh.rcb.g++.2 +++ /dev/null @@ -1,141 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 3d Lennard-Jones melt - -units lj -atom_style atomic -processors * 1 1 - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 -region box block 0 10 0 10 0 10 -create_box 3 box -Created orthogonal box = (0 0 0) to (16.796 16.796 16.796) - 2 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 4000 atoms - Time spent = 0.000511885 secs -mass * 1.0 - -region long block 3 6 0 10 0 10 -set region long type 2 - 1400 settings made for type - -velocity all create 1.0 87287 - -pair_style lj/cut 2.5 -pair_coeff * * 1.0 1.0 2.5 -pair_coeff * 2 1.0 1.0 5.0 - -comm_style tiled - -neighbor 0.3 bin -neigh_modify every 2 delay 4 check yes -fix p all property/atom d_WEIGHT -fix 0 all balance 50 1.0 rcb weight neigh 0.8 weight store WEIGHT -compute p all property/atom d_WEIGHT -variable maximb equal f_0[1] -variable iter equal f_0[2] -variable prev equal f_0[3] -variable final equal f_0 - -#fix 3 all print 50 "${iter} ${prev} ${final} ${maximb}" - -fix 1 all nve - -#dump id all atom 50 dump.melt -#dump id all custom 50 dump.lammpstrj id type x y z c_p - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -thermo 50 - -run 250 -Neighbor list info ... - update every 2 steps, delay 4 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.3 - ghost atom cutoff = 5.3 - binsize = 2.65, bins = 7 7 7 - 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 -WARNING: Balance weight neigh skipped b/c no list found (src/imbalance_neigh.cpp:65) -Per MPI rank memory allocation (min/avg/max) = 4.138 | 4.329 | 4.52 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137 - 50 0.49578514 -6.1929216 0 -5.4494298 -1.6668039 4738.2137 - 100 0.53275389 -6.2475932 0 -5.4486622 -1.9063885 4738.2137 - 150 0.53316457 -6.2483202 0 -5.4487733 -1.9476162 4738.2137 - 200 0.536665 -6.2530113 0 -5.448215 -1.933468 4738.2137 - 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 4738.2137 -Loop time of 1.80309 on 2 procs for 250 steps with 4000 atoms - -Performance: 59897.213 tau/day, 138.651 timesteps/s -97.9% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.2185 | 1.2646 | 1.3106 | 4.1 | 70.13 -Neigh | 0.43131 | 0.43248 | 0.43365 | 0.2 | 23.99 -Comm | 0.045418 | 0.090311 | 0.1352 | 14.9 | 5.01 -Output | 0.00017476 | 0.00021195 | 0.00024915 | 0.0 | 0.01 -Modify | 0.011012 | 0.01103 | 0.011048 | 0.0 | 0.61 -Other | | 0.004476 | | | 0.25 - -Nlocal: 2000 ave 2000 max 2000 min -Histogram: 2 0 0 0 0 0 0 0 0 0 -Nghost: 10412.5 ave 10414 max 10411 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 298332 ave 299797 max 296867 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 596664 -Ave neighs/atom = 149.166 -Neighbor list builds = 25 -Dangerous builds = 0 -run 250 -Per MPI rank memory allocation (min/avg/max) = 4.929 | 4.929 | 4.93 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 4738.2137 - 300 0.55111476 -6.2727642 0 -5.4462987 -2.0384873 4738.2137 - 350 0.55211503 -6.274054 0 -5.4460885 -2.0116976 4738.2137 - 400 0.54638463 -6.2661715 0 -5.4467995 -1.992248 4738.2137 - 450 0.55885307 -6.2852263 0 -5.4471563 -2.0669747 4738.2137 - 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 4738.2137 -Loop time of 1.77097 on 2 procs for 250 steps with 4000 atoms - -Performance: 60983.669 tau/day, 141.166 timesteps/s -99.4% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.2353 | 1.2515 | 1.2678 | 1.5 | 70.67 -Neigh | 0.44235 | 0.44303 | 0.44371 | 0.1 | 25.02 -Comm | 0.045978 | 0.061555 | 0.077133 | 6.3 | 3.48 -Output | 0.0001564 | 0.00016713 | 0.00017786 | 0.0 | 0.01 -Modify | 0.010305 | 0.01031 | 0.010315 | 0.0 | 0.58 -Other | | 0.004365 | | | 0.25 - -Nlocal: 2000 ave 2000 max 2000 min -Histogram: 2 0 0 0 0 0 0 0 0 0 -Nghost: 10466.5 ave 10470 max 10463 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 298070 ave 349236 max 246903 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 596139 -Ave neighs/atom = 149.035 -Neighbor list builds = 26 -Dangerous builds = 0 - -Total wall time: 0:00:03 diff --git a/examples/balance/log.27Nov18.balance.neigh.rcb.g++.4 b/examples/balance/log.27Nov18.balance.neigh.rcb.g++.4 deleted file mode 100644 index 4a2a747773..0000000000 --- a/examples/balance/log.27Nov18.balance.neigh.rcb.g++.4 +++ /dev/null @@ -1,141 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 3d Lennard-Jones melt - -units lj -atom_style atomic -processors * 1 1 - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 -region box block 0 10 0 10 0 10 -create_box 3 box -Created orthogonal box = (0 0 0) to (16.796 16.796 16.796) - 4 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 4000 atoms - Time spent = 0.000440836 secs -mass * 1.0 - -region long block 3 6 0 10 0 10 -set region long type 2 - 1400 settings made for type - -velocity all create 1.0 87287 - -pair_style lj/cut 2.5 -pair_coeff * * 1.0 1.0 2.5 -pair_coeff * 2 1.0 1.0 5.0 - -comm_style tiled - -neighbor 0.3 bin -neigh_modify every 2 delay 4 check yes -fix p all property/atom d_WEIGHT -fix 0 all balance 50 1.0 rcb weight neigh 0.8 weight store WEIGHT -compute p all property/atom d_WEIGHT -variable maximb equal f_0[1] -variable iter equal f_0[2] -variable prev equal f_0[3] -variable final equal f_0 - -#fix 3 all print 50 "${iter} ${prev} ${final} ${maximb}" - -fix 1 all nve - -#dump id all atom 50 dump.melt -#dump id all custom 50 dump.lammpstrj id type x y z c_p - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -thermo 50 - -run 250 -Neighbor list info ... - update every 2 steps, delay 4 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.3 - ghost atom cutoff = 5.3 - binsize = 2.65, bins = 7 7 7 - 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 -WARNING: Balance weight neigh skipped b/c no list found (src/imbalance_neigh.cpp:65) -Per MPI rank memory allocation (min/avg/max) = 3.917 | 3.927 | 3.945 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137 - 50 0.48653399 -6.1788509 0 -5.4492324 -1.6017778 4738.2137 - 100 0.53411175 -6.249885 0 -5.4489177 -1.9317606 4738.2137 - 150 0.53646658 -6.2527206 0 -5.4482219 -1.9689568 4738.2137 - 200 0.54551611 -6.2656326 0 -5.4475631 -2.0042104 4738.2137 - 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 4738.2137 -Loop time of 1.0693 on 4 procs for 250 steps with 4000 atoms - -Performance: 101000.295 tau/day, 233.797 timesteps/s -89.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.58255 | 0.65493 | 0.72281 | 8.3 | 61.25 -Neigh | 0.214 | 0.22344 | 0.23158 | 1.4 | 20.90 -Comm | 0.10451 | 0.17801 | 0.25967 | 17.3 | 16.65 -Output | 0.00015521 | 0.00020903 | 0.00034142 | 0.0 | 0.02 -Modify | 0.007113 | 0.0073407 | 0.0076027 | 0.2 | 0.69 -Other | | 0.005369 | | | 0.50 - -Nlocal: 1000 ave 1005 max 996 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Nghost: 7674 ave 7679 max 7670 min -Histogram: 1 1 0 0 0 0 1 0 0 1 -Neighs: 149349 ave 149991 max 147960 min -Histogram: 1 0 0 0 0 0 0 1 0 2 - -Total # of neighbors = 597396 -Ave neighs/atom = 149.349 -Neighbor list builds = 25 -Dangerous builds = 0 -run 250 -Per MPI rank memory allocation (min/avg/max) = 3.922 | 4.004 | 4.078 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 4738.2137 - 300 0.5477618 -6.2678071 0 -5.4463698 -1.997842 4738.2137 - 350 0.55600296 -6.2801497 0 -5.4463538 -2.0394056 4738.2137 - 400 0.53241503 -6.2453665 0 -5.4469436 -1.878594 4738.2137 - 450 0.5439158 -6.2623 0 -5.4466302 -1.9744161 4738.2137 - 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 4738.2137 -Loop time of 0.999028 on 4 procs for 250 steps with 4000 atoms - -Performance: 108105.088 tau/day, 250.243 timesteps/s -93.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.60256 | 0.6507 | 0.68091 | 3.8 | 65.13 -Neigh | 0.21602 | 0.21945 | 0.22516 | 0.8 | 21.97 -Comm | 0.087366 | 0.11787 | 0.16957 | 9.6 | 11.80 -Output | 0.00016737 | 0.00028127 | 0.00057006 | 0.0 | 0.03 -Modify | 0.0065138 | 0.0066211 | 0.0067828 | 0.1 | 0.66 -Other | | 0.004103 | | | 0.41 - -Nlocal: 1000 ave 1005 max 994 min -Histogram: 1 0 0 1 0 0 0 0 1 1 -Nghost: 7675.75 ave 7703 max 7648 min -Histogram: 1 1 0 0 0 0 0 0 1 1 -Neighs: 149308 ave 173909 max 124842 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 597231 -Ave neighs/atom = 149.308 -Neighbor list builds = 25 -Dangerous builds = 0 - -Total wall time: 0:00:02 diff --git a/examples/balance/log.27Nov18.balance.neigh.static.g++.2 b/examples/balance/log.27Nov18.balance.neigh.static.g++.2 deleted file mode 100644 index de3aae921c..0000000000 --- a/examples/balance/log.27Nov18.balance.neigh.static.g++.2 +++ /dev/null @@ -1,211 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 3d Lennard-Jones melt - -units lj -atom_style atomic -processors * 1 1 - -variable factor index 1.0 - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 -region box block 0 10 0 10 0 10 -create_box 3 box -Created orthogonal box = (0 0 0) to (16.796 16.796 16.796) - 2 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 4000 atoms - Time spent = 0.000495195 secs -mass * 1.0 - -region long block 3 6 0 10 0 10 -set region long type 2 - 1400 settings made for type - -velocity all create 1.0 87287 - -pair_style lj/cut 2.5 -pair_coeff * * 1.0 1.0 2.5 -pair_coeff * 2 1.0 1.0 5.0 - -neighbor 0.3 bin -neigh_modify every 2 delay 4 check yes - -balance 1.0 shift x 10 1.0 weight neigh 0.8 # out weighted_var.txt -Neighbor list info ... - update every 2 steps, delay 4 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.3 - ghost atom cutoff = 5.3 - binsize = 2.65, bins = 7 7 7 - 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 -WARNING: Balance weight neigh skipped b/c no list found (src/imbalance_neigh.cpp:65) - rebalancing time: 0.000623703 seconds - iteration count = 1 - neigh weight factor: 0.8 - initial/final max load/proc = 2000 2000 - initial/final imbalance factor = 1 1 - x cuts: 0 0.5 1 - y cuts: 0 1 - z cuts: 0 1 - -fix 1 all nve - -#dump id all atom 50 dump.melt - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -thermo 50 -run 250 post no -Per MPI rank memory allocation (min/avg/max) = 4.297 | 4.488 | 4.678 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -6.9453205 0 -5.4456955 -5.6812358 - 50 0.49578514 -6.1929216 0 -5.4494298 -1.6668039 - 100 0.53275389 -6.2475932 0 -5.4486622 -1.9063885 - 150 0.53316457 -6.2483202 0 -5.4487733 -1.9476162 - 200 0.536665 -6.2530113 0 -5.448215 -1.933468 - 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 -Loop time of 1.97176 on 2 procs for 250 steps with 4000 atoms - -balance 1.0 shift x 10 1.0 weight neigh 0.8 - rebalancing time: 0.000482321 seconds - iteration count = 10 - neigh weight factor: 0.8 - initial/final max load/proc = 290759 262123 - initial/final imbalance factor = 1.10982 1.00052 - x cuts: 0 0.45166 1 - y cuts: 0 1 - z cuts: 0 1 -run 250 post no -Per MPI rank memory allocation (min/avg/max) = 4.304 | 4.492 | 4.681 Mbytes -Step Temp E_pair E_mol TotEng Press - 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 - 300 0.55111476 -6.2727642 0 -5.4462987 -2.0384873 - 350 0.55211503 -6.274054 0 -5.4460885 -2.0116976 - 400 0.54638463 -6.2661715 0 -5.4467995 -1.992248 - 450 0.55885307 -6.2852263 0 -5.4471563 -2.0669747 - 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 -Loop time of 1.77716 on 2 procs for 250 steps with 4000 atoms - -balance 1.0 shift x 10 1.0 weight neigh 0.8 - rebalancing time: 0.000497341 seconds - iteration count = 10 - neigh weight factor: 0.8 - initial/final max load/proc = 296648 269016 - initial/final imbalance factor = 1.10642 1.00336 - x cuts: 0 0.501461 1 - y cuts: 0 1 - z cuts: 0 1 -run 250 post no -Per MPI rank memory allocation (min/avg/max) = 4.681 | 4.683 | 4.686 Mbytes -Step Temp E_pair E_mol TotEng Press - 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 - 550 0.54137926 -6.2592773 0 -5.4474115 -1.9770236 - 600 0.54022886 -6.2573307 0 -5.44719 -1.9619637 - 650 0.54709009 -6.2678862 0 -5.4474562 -1.9958342 - 700 0.54590044 -6.2656903 0 -5.4470444 -1.9957108 - 750 0.55098488 -6.2724831 0 -5.4462124 -2.0287523 -Loop time of 2.0039 on 2 procs for 250 steps with 4000 atoms - -balance 1.0 shift x 10 1.0 weight neigh 0.8 weight time 0.6 - rebalancing time: 0.000368118 seconds - iteration count = 10 - neigh weight factor: 0.8 - time weight factor: 0.6 - initial/final max load/proc = 168.493 167.093 - initial/final imbalance factor = 1.00948 1.00109 - x cuts: 0 0.499991 1 - y cuts: 0 1 - z cuts: 0 1 -run 250 -Per MPI rank memory allocation (min/avg/max) = 4.681 | 4.683 | 4.686 Mbytes -Step Temp E_pair E_mol TotEng Press - 750 0.55098488 -6.2724831 0 -5.4462124 -2.0287523 - 800 0.5520987 -6.2739184 0 -5.4459774 -2.0084991 - 850 0.54963958 -6.2702473 0 -5.445994 -1.9740031 - 900 0.54390586 -6.2615476 0 -5.4458927 -1.9400871 - 950 0.54741732 -6.2665755 0 -5.4456548 -1.9466417 - 1000 0.54200867 -6.2591246 0 -5.4463148 -1.8881624 -Loop time of 2.0382 on 2 procs for 250 steps with 4000 atoms - -Performance: 52987.998 tau/day, 122.657 timesteps/s -98.9% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.96918 | 1.257 | 1.5449 | 25.7 | 61.67 -Neigh | 0.40421 | 0.42672 | 0.44923 | 3.4 | 20.94 -Comm | 0.032542 | 0.34306 | 0.65358 | 53.0 | 16.83 -Output | 0.00014377 | 0.00015366 | 0.00016356 | 0.0 | 0.01 -Modify | 0.0070617 | 0.007337 | 0.0076122 | 0.3 | 0.36 -Other | | 0.003878 | | | 0.19 - -Nlocal: 2000 ave 2056 max 1944 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 10403.5 ave 10525 max 10282 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 300836 ave 365656 max 236015 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 601671 -Ave neighs/atom = 150.418 -Neighbor list builds = 25 -Dangerous builds = 0 -balance 1.0 shift x 10 1.0 weight neigh 0.8 weight time 0.6 - rebalancing time: 0.000344753 seconds - iteration count = 10 - neigh weight factor: 0.8 - time weight factor: 0.6 - initial/final max load/proc = 170.235 168.809 - initial/final imbalance factor = 1.01037 1.00191 - x cuts: 0 0.49755 1 - y cuts: 0 1 - z cuts: 0 1 -run 250 -Per MPI rank memory allocation (min/avg/max) = 4.681 | 4.683 | 4.686 Mbytes -Step Temp E_pair E_mol TotEng Press - 1000 0.54200867 -6.2591246 0 -5.4463148 -1.8881624 - 1050 0.54633412 -6.2656384 0 -5.4463421 -1.9012895 - 1100 0.54325667 -6.2612166 0 -5.4465353 -1.8870463 - 1150 0.55057583 -6.2719187 0 -5.4462614 -1.9575881 - 1200 0.53728175 -6.251744 0 -5.4460228 -1.8124097 - 1250 0.54077561 -6.2567544 0 -5.4457938 -1.8418134 -Loop time of 2.01086 on 2 procs for 250 steps with 4000 atoms - -Performance: 53708.387 tau/day, 124.325 timesteps/s -98.9% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.0037 | 1.2615 | 1.5192 | 23.0 | 62.73 -Neigh | 0.40846 | 0.4277 | 0.44695 | 2.9 | 21.27 -Comm | 0.033029 | 0.31012 | 0.5872 | 49.8 | 15.42 -Output | 0.00014424 | 0.00015259 | 0.00016093 | 0.0 | 0.01 -Modify | 0.007298 | 0.0074347 | 0.0075715 | 0.2 | 0.37 -Other | | 0.003999 | | | 0.20 - -Nlocal: 2000 ave 2038 max 1962 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 10391 ave 10489 max 10293 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 301104 ave 358264 max 243943 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 602207 -Ave neighs/atom = 150.552 -Neighbor list builds = 25 -Dangerous builds = 0 - -Total wall time: 0:00:09 diff --git a/examples/balance/log.27Nov18.balance.neigh.static.g++.4 b/examples/balance/log.27Nov18.balance.neigh.static.g++.4 deleted file mode 100644 index 3a9ab43cb1..0000000000 --- a/examples/balance/log.27Nov18.balance.neigh.static.g++.4 +++ /dev/null @@ -1,211 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 3d Lennard-Jones melt - -units lj -atom_style atomic -processors * 1 1 - -variable factor index 1.0 - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 -region box block 0 10 0 10 0 10 -create_box 3 box -Created orthogonal box = (0 0 0) to (16.796 16.796 16.796) - 4 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 4000 atoms - Time spent = 0.000429153 secs -mass * 1.0 - -region long block 3 6 0 10 0 10 -set region long type 2 - 1400 settings made for type - -velocity all create 1.0 87287 - -pair_style lj/cut 2.5 -pair_coeff * * 1.0 1.0 2.5 -pair_coeff * 2 1.0 1.0 5.0 - -neighbor 0.3 bin -neigh_modify every 2 delay 4 check yes - -balance 1.0 shift x 10 1.0 weight neigh 0.8 # out weighted_var.txt -Neighbor list info ... - update every 2 steps, delay 4 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.3 - ghost atom cutoff = 5.3 - binsize = 2.65, bins = 7 7 7 - 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 -WARNING: Balance weight neigh skipped b/c no list found (src/imbalance_neigh.cpp:65) - rebalancing time: 0.000684023 seconds - iteration count = 3 - neigh weight factor: 0.8 - initial/final max load/proc = 1200 1000 - initial/final imbalance factor = 1.2 1 - x cuts: 0 0.25 0.5 0.71875 1 - y cuts: 0 1 - z cuts: 0 1 - -fix 1 all nve - -#dump id all atom 50 dump.melt - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -thermo 50 -run 250 post no -Per MPI rank memory allocation (min/avg/max) = 3.426 | 3.802 | 4.188 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 1 -6.9453205 0 -5.4456955 -5.6812358 - 50 0.48653399 -6.1788509 0 -5.4492324 -1.6017778 - 100 0.53411175 -6.249885 0 -5.4489177 -1.9317606 - 150 0.53646658 -6.2527206 0 -5.4482219 -1.9689568 - 200 0.54551611 -6.2656326 0 -5.4475631 -2.0042104 - 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 -Loop time of 1.44749 on 4 procs for 250 steps with 4000 atoms - -balance 1.0 shift x 10 1.0 weight neigh 0.8 - rebalancing time: 0.000543356 seconds - iteration count = 10 - neigh weight factor: 0.8 - initial/final max load/proc = 220132 125739 - initial/final imbalance factor = 1.75833 1.00436 - x cuts: 0 0.304443 0.450928 0.626678 1 - y cuts: 0 1 - z cuts: 0 1 -run 250 post no -Per MPI rank memory allocation (min/avg/max) = 3.814 | 3.999 | 4.192 Mbytes -Step Temp E_pair E_mol TotEng Press - 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 - 300 0.5477618 -6.2678071 0 -5.4463698 -1.997842 - 350 0.55600296 -6.2801497 0 -5.4463538 -2.0394056 - 400 0.53241503 -6.2453665 0 -5.4469436 -1.878594 - 450 0.5439158 -6.2623 0 -5.4466302 -1.9744161 - 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 -Loop time of 1.19834 on 4 procs for 250 steps with 4000 atoms - -balance 1.0 shift x 10 1.0 weight neigh 0.8 - rebalancing time: 0.000308752 seconds - iteration count = 10 - neigh weight factor: 0.8 - initial/final max load/proc = 147109 128929 - initial/final imbalance factor = 1.14487 1.00338 - x cuts: 0 0.304873 0.449926 0.59527 1 - y cuts: 0 1 - z cuts: 0 1 -run 250 post no -Per MPI rank memory allocation (min/avg/max) = 3.832 | 4.018 | 4.209 Mbytes -Step Temp E_pair E_mol TotEng Press - 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 - 550 0.53879347 -6.2554274 0 -5.4474393 -1.9756834 - 600 0.54275982 -6.2616799 0 -5.4477437 -1.9939993 - 650 0.54526651 -6.265098 0 -5.4474027 -2.0303672 - 700 0.54369381 -6.263201 0 -5.4478642 -1.9921967 - 750 0.54452777 -6.2640839 0 -5.4474964 -1.9658675 -Loop time of 1.23246 on 4 procs for 250 steps with 4000 atoms - -balance 1.0 shift x 10 1.0 weight neigh 0.8 weight time 0.6 - rebalancing time: 0.000306845 seconds - iteration count = 10 - neigh weight factor: 0.8 - time weight factor: 0.6 - initial/final max load/proc = 114.116 101.665 - initial/final imbalance factor = 1.12567 1.00285 - x cuts: 0 0.30983 0.449501 0.588031 1 - y cuts: 0 1 - z cuts: 0 1 -run 250 -Per MPI rank memory allocation (min/avg/max) = 3.832 | 4.018 | 4.209 Mbytes -Step Temp E_pair E_mol TotEng Press - 750 0.54452777 -6.2640839 0 -5.4474964 -1.9658675 - 800 0.55061744 -6.2725556 0 -5.4468359 -2.0100922 - 850 0.55371614 -6.2763992 0 -5.4460326 -2.0065329 - 900 0.54756622 -6.2668303 0 -5.4456863 -1.9796122 - 950 0.54791593 -6.2673161 0 -5.4456477 -1.9598278 - 1000 0.54173198 -6.2586101 0 -5.4462153 -1.9007466 -Loop time of 1.13265 on 4 procs for 250 steps with 4000 atoms - -Performance: 95351.673 tau/day, 220.721 timesteps/s -97.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.64092 | 0.67347 | 0.70289 | 3.5 | 59.46 -Neigh | 0.11654 | 0.22172 | 0.35287 | 22.2 | 19.58 -Comm | 0.068215 | 0.22827 | 0.36221 | 28.0 | 20.15 -Output | 0.00016975 | 0.00031555 | 0.00065875 | 0.0 | 0.03 -Modify | 0.00214 | 0.004007 | 0.0062947 | 3.0 | 0.35 -Other | | 0.004862 | | | 0.43 - -Nlocal: 1000 ave 1651 max 529 min -Histogram: 2 0 0 0 0 0 1 0 0 1 -Nghost: 8692.5 ave 9709 max 8037 min -Histogram: 2 0 0 0 0 1 0 0 0 1 -Neighs: 150170 ave 154877 max 145634 min -Histogram: 1 0 0 1 0 0 1 0 0 1 - -Total # of neighbors = 600681 -Ave neighs/atom = 150.17 -Neighbor list builds = 25 -Dangerous builds = 0 -balance 1.0 shift x 10 1.0 weight neigh 0.8 weight time 0.6 - rebalancing time: 0.000319719 seconds - iteration count = 10 - neigh weight factor: 0.8 - time weight factor: 0.6 - initial/final max load/proc = 102.192 99.2749 - initial/final imbalance factor = 1.03206 1.0026 - x cuts: 0 0.312695 0.449907 0.587625 1 - y cuts: 0 1 - z cuts: 0 1 -run 250 -Per MPI rank memory allocation (min/avg/max) = 3.832 | 4.019 | 4.209 Mbytes -Step Temp E_pair E_mol TotEng Press - 1000 0.54173198 -6.2586101 0 -5.4462153 -1.9007466 - 1050 0.54629742 -6.2657526 0 -5.4465113 -1.945821 - 1100 0.55427881 -6.2781733 0 -5.446963 -2.0021027 - 1150 0.54730654 -6.267257 0 -5.4465025 -1.9420678 - 1200 0.5388281 -6.2547963 0 -5.4467562 -1.890178 - 1250 0.54848768 -6.2694237 0 -5.4468979 -1.9636797 -Loop time of 1.16447 on 4 procs for 250 steps with 4000 atoms - -Performance: 92745.661 tau/day, 214.689 timesteps/s -97.2% 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.61612 | 0.67903 | 0.73112 | 5.1 | 58.31 -Neigh | 0.11722 | 0.22257 | 0.35236 | 22.3 | 19.11 -Comm | 0.099441 | 0.25198 | 0.42338 | 28.4 | 21.64 -Output | 0.00018501 | 0.0012686 | 0.0040495 | 4.5 | 0.11 -Modify | 0.0020952 | 0.0044899 | 0.0086782 | 4.0 | 0.39 -Other | | 0.005134 | | | 0.44 - -Nlocal: 1000 ave 1631 max 523 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Nghost: 8693.75 ave 9752 max 8002 min -Histogram: 2 0 0 0 0 1 0 0 0 1 -Neighs: 149995 ave 161500 max 141963 min -Histogram: 2 0 0 0 0 0 1 0 0 1 - -Total # of neighbors = 599979 -Ave neighs/atom = 149.995 -Neighbor list builds = 25 -Dangerous builds = 0 - -Total wall time: 0:00:06 diff --git a/examples/balance/log.27Nov18.balance.var.dynamic.g++.2 b/examples/balance/log.27Nov18.balance.var.dynamic.g++.2 deleted file mode 100644 index c488a725e0..0000000000 --- a/examples/balance/log.27Nov18.balance.var.dynamic.g++.2 +++ /dev/null @@ -1,257 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 3d Lennard-Jones melt - -units lj -atom_style atomic -processors * 1 1 - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 -region box block 0 10 0 10 0 10 -create_box 3 box -Created orthogonal box = (0 0 0) to (16.796 16.796 16.796) - 2 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 4000 atoms - Time spent = 0.000491142 secs -mass * 1.0 - -region long block 3 6 0 10 0 10 -set region long type 2 - 1400 settings made for type - -velocity all create 1.0 87287 - -pair_style lj/cut 2.5 -pair_coeff * * 1.0 1.0 2.5 -pair_coeff * 2 1.0 1.0 5.0 - -neighbor 0.3 bin -neigh_modify every 2 delay 4 check yes -fix p all property/atom d_WEIGHT -compute p all property/atom d_WEIGHT - -group fast type 1 -2600 atoms in group fast -group slow type 2 -1400 atoms in group slow -balance 1.0 shift x 10 1.0 weight group 2 fast 0.8 slow 2.5 weight store WEIGHT -Neighbor list info ... - update every 2 steps, delay 4 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.3 - ghost atom cutoff = 5.3 - binsize = 2.65, bins = 7 7 7 - 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 - rebalancing time: 0.000805378 seconds - iteration count = 10 - group weights: fast=0.8 slow=2.5 - storing weight in atom property d_WEIGHT - initial/final max load/proc = 2960 3120 - initial/final imbalance factor = 1.06093 1.11828 - x cuts: 0 0.449707 1 - y cuts: 0 1 - z cuts: 0 1 -variable lastweight atom c_p - -fix 0 all balance 50 1.0 shift x 10 1.0 weight var lastweight weight time 0.5 weight store WEIGHT -variable maximb equal f_0[1] -variable iter equal f_0[2] -variable prev equal f_0[3] -variable final equal f_0 - -#fix 3 all print 50 "${iter} ${prev} ${final} ${maximb}" - -fix 1 all nve - -#dump id all atom 50 dump.melt -#dump id all custom 50 dump.lammpstrj id type x y z c_p - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -thermo 50 -run 500 -Per MPI rank memory allocation (min/avg/max) = 4.708 | 4.876 | 5.044 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137 - 50 0.49578514 -6.1929216 0 -5.4494298 -1.6668039 4738.2137 - 100 0.53275389 -6.2475932 0 -5.4486622 -1.9063885 4738.2137 - 150 0.53316457 -6.2483202 0 -5.4487733 -1.9476162 4738.2137 - 200 0.536665 -6.2530113 0 -5.448215 -1.933468 4738.2137 - 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 4738.2137 - 300 0.55111476 -6.2727642 0 -5.4462987 -2.0384873 4738.2137 - 350 0.55211503 -6.274054 0 -5.4460885 -2.0116976 4738.2137 - 400 0.54638463 -6.2661715 0 -5.4467995 -1.992248 4738.2137 - 450 0.55885307 -6.2852263 0 -5.4471563 -2.0669747 4738.2137 - 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 4738.2137 -Loop time of 5.01752 on 2 procs for 500 steps with 4000 atoms - -Performance: 43049.176 tau/day, 99.651 timesteps/s -98.5% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.4325 | 2.6317 | 3.8309 | 73.9 | 52.45 -Neigh | 0.72307 | 0.89995 | 1.0768 | 18.6 | 17.94 -Comm | 0.08143 | 1.4587 | 2.836 | 114.0 | 29.07 -Output | 0.00034356 | 0.00034773 | 0.00035191 | 0.0 | 0.01 -Modify | 0.015713 | 0.017661 | 0.01961 | 1.5 | 0.35 -Other | | 0.009141 | | | 0.18 - -Nlocal: 2000 ave 2500 max 1500 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 10457 ave 11055 max 9859 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 298070 ave 483758 max 112381 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 596139 -Ave neighs/atom = 149.035 -Neighbor list builds = 51 -Dangerous builds = 0 -run 500 -Per MPI rank memory allocation (min/avg/max) = 5.092 | 5.269 | 5.445 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 4738.2137 - 550 0.54137926 -6.2592773 0 -5.4474115 -1.9770236 4738.2137 - 600 0.54022886 -6.2573307 0 -5.44719 -1.9619637 4738.2137 - 650 0.54709009 -6.2678862 0 -5.4474562 -1.9958342 4738.2137 - 700 0.54590044 -6.2656903 0 -5.4470444 -1.9957108 4738.2137 - 750 0.55098488 -6.2724831 0 -5.4462124 -2.0287523 4738.2137 - 800 0.5520987 -6.2739184 0 -5.4459774 -2.0084991 4738.2137 - 850 0.54963958 -6.2702473 0 -5.445994 -1.9740031 4738.2137 - 900 0.54390586 -6.2615476 0 -5.4458927 -1.9400871 4738.2137 - 950 0.54741732 -6.2665755 0 -5.4456548 -1.9466417 4738.2137 - 1000 0.54200867 -6.2591246 0 -5.4463148 -1.8881624 4738.2137 -Loop time of 5.38962 on 2 procs for 500 steps with 4000 atoms - -Performance: 40077.052 tau/day, 92.771 timesteps/s -98.0% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.93627 | 2.5477 | 4.1591 | 101.0 | 47.27 -Neigh | 0.61458 | 0.87078 | 1.127 | 27.5 | 16.16 -Comm | 0.072418 | 1.9424 | 3.8124 | 134.2 | 36.04 -Output | 0.00034833 | 0.00035048 | 0.00035262 | 0.0 | 0.01 -Modify | 0.014652 | 0.018169 | 0.021687 | 2.6 | 0.34 -Other | | 0.01024 | | | 0.19 - -Nlocal: 2000 ave 2561 max 1439 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 10257 ave 11109 max 9405 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 300836 ave 498670 max 103001 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 601671 -Ave neighs/atom = 150.418 -Neighbor list builds = 51 -Dangerous builds = 0 - -balance 1.0 shift x 10 1.0 weight group 2 fast 0.8 slow 2.5 weight store WEIGHT - rebalancing time: 0.000744104 seconds - iteration count = 10 - group weights: fast=0.8 slow=2.5 - storing weight in atom property d_WEIGHT - initial/final max load/proc = 4428.8 2798.1 - initial/final imbalance factor = 1.58738 1.0029 - x cuts: 0 0.45485 1 - y cuts: 0 1 - z cuts: 0 1 - -fix 0 all balance 50 1.0 shift x 5 1.0 weight var lastweight weight neigh 0.5 weight store WEIGHT - -run 500 -Per MPI rank memory allocation (min/avg/max) = 5.098 | 5.464 | 5.83 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 1000 0.54200867 -6.2591246 0 -5.4463148 -1.8881624 4738.2137 - 1050 0.54633412 -6.2656384 0 -5.4463421 -1.9012895 4738.2137 - 1100 0.54325667 -6.2612166 0 -5.4465353 -1.8870463 4738.2137 - 1150 0.55057583 -6.2719187 0 -5.4462614 -1.9575881 4738.2137 - 1200 0.53728175 -6.251744 0 -5.4460228 -1.8124097 4738.2137 - 1250 0.54077561 -6.2567544 0 -5.4457938 -1.8418134 4738.2137 - 1300 0.54430333 -6.260995 0 -5.4447442 -1.856351 4738.2137 - 1350 0.55097839 -6.2715909 0 -5.4453299 -1.9014337 4738.2137 - 1400 0.53858139 -6.2526781 0 -5.445008 -1.7965773 4738.2137 - 1450 0.54218439 -6.2574683 0 -5.444395 -1.7901189 4738.2137 - 1500 0.54200616 -6.2571433 0 -5.4443373 -1.8000345 4738.2137 -Loop time of 5.50675 on 2 procs for 500 steps with 4000 atoms - -Performance: 39224.584 tau/day, 90.798 timesteps/s -98.0% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.1091 | 2.6165 | 4.124 | 93.2 | 47.51 -Neigh | 0.49666 | 0.88338 | 1.2701 | 41.1 | 16.04 -Comm | 0.079062 | 1.9768 | 3.8745 | 135.0 | 35.90 -Output | 0.00032926 | 0.00041151 | 0.00049376 | 0.0 | 0.01 -Modify | 0.012776 | 0.018102 | 0.023428 | 4.0 | 0.33 -Other | | 0.01156 | | | 0.21 - -Nlocal: 2000 ave 3010 max 990 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 10343 ave 12129 max 8557 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 302958 ave 519016 max 86901 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 605917 -Ave neighs/atom = 151.479 -Neighbor list builds = 51 -Dangerous builds = 0 -run 500 -Per MPI rank memory allocation (min/avg/max) = 5.847 | 5.872 | 5.897 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 1500 0.54200616 -6.2571433 0 -5.4443373 -1.8000345 4738.2137 - 1550 0.5371361 -6.250403 0 -5.4449003 -1.7647032 4738.2137 - 1600 0.54679571 -6.2646443 0 -5.4446558 -1.8115722 4738.2137 - 1650 0.53806587 -6.2519009 0 -5.4450039 -1.7409152 4738.2137 - 1700 0.53479436 -6.2469032 0 -5.4449122 -1.7162441 4738.2137 - 1750 0.53714071 -6.2506513 0 -5.4451416 -1.7340205 4738.2137 - 1800 0.52750533 -6.2358819 0 -5.4448217 -1.687537 4738.2137 - 1850 0.54585346 -6.262937 0 -5.4443615 -1.7758597 4738.2137 - 1900 0.53011247 -6.2387653 0 -5.4437954 -1.6382086 4738.2137 - 1950 0.54287683 -6.2583097 0 -5.4441981 -1.7367469 4738.2137 - 2000 0.52771288 -6.2349676 0 -5.4435962 -1.5593804 4738.2137 -Loop time of 5.80884 on 2 procs for 500 steps with 4000 atoms - -Performance: 37184.695 tau/day, 86.076 timesteps/s -97.7% CPU use with 2 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.71314 | 2.5435 | 4.3738 | 114.8 | 43.79 -Neigh | 0.39935 | 0.85806 | 1.3168 | 49.5 | 14.77 -Comm | 0.082629 | 2.3761 | 4.6695 | 148.8 | 40.90 -Output | 0.00034571 | 0.00044024 | 0.00053477 | 0.0 | 0.01 -Modify | 0.011643 | 0.018227 | 0.024811 | 4.9 | 0.31 -Other | | 0.01257 | | | 0.22 - -Nlocal: 2000 ave 3032 max 968 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Nghost: 10266 ave 12245 max 8287 min -Histogram: 1 0 0 0 0 0 0 0 0 1 -Neighs: 303998 ave 525128 max 82868 min -Histogram: 1 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 607996 -Ave neighs/atom = 151.999 -Neighbor list builds = 51 -Dangerous builds = 0 -Total wall time: 0:00:21 diff --git a/examples/balance/log.27Nov18.balance.var.dynamic.g++.4 b/examples/balance/log.27Nov18.balance.var.dynamic.g++.4 deleted file mode 100644 index 66c1183481..0000000000 --- a/examples/balance/log.27Nov18.balance.var.dynamic.g++.4 +++ /dev/null @@ -1,257 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# 3d Lennard-Jones melt - -units lj -atom_style atomic -processors * 1 1 - -lattice fcc 0.8442 -Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 -region box block 0 10 0 10 0 10 -create_box 3 box -Created orthogonal box = (0 0 0) to (16.796 16.796 16.796) - 4 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 4000 atoms - Time spent = 0.000424862 secs -mass * 1.0 - -region long block 3 6 0 10 0 10 -set region long type 2 - 1400 settings made for type - -velocity all create 1.0 87287 - -pair_style lj/cut 2.5 -pair_coeff * * 1.0 1.0 2.5 -pair_coeff * 2 1.0 1.0 5.0 - -neighbor 0.3 bin -neigh_modify every 2 delay 4 check yes -fix p all property/atom d_WEIGHT -compute p all property/atom d_WEIGHT - -group fast type 1 -2600 atoms in group fast -group slow type 2 -1400 atoms in group slow -balance 1.0 shift x 10 1.0 weight group 2 fast 0.8 slow 2.5 weight store WEIGHT -Neighbor list info ... - update every 2 steps, delay 4 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.3 - ghost atom cutoff = 5.3 - binsize = 2.65, bins = 7 7 7 - 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 - rebalancing time: 0.00115108 seconds - iteration count = 10 - group weights: fast=0.8 slow=2.5 - storing weight in atom property d_WEIGHT - initial/final max load/proc = 2160 1620 - initial/final imbalance factor = 1.54839 1.16129 - x cuts: 0 0.300049 0.449951 0.599854 1 - y cuts: 0 1 - z cuts: 0 1 -variable lastweight atom c_p - -fix 0 all balance 50 1.0 shift x 10 1.0 weight var lastweight weight time 0.5 weight store WEIGHT -variable maximb equal f_0[1] -variable iter equal f_0[2] -variable prev equal f_0[3] -variable final equal f_0 - -#fix 3 all print 50 "${iter} ${prev} ${final} ${maximb}" - -fix 1 all nve - -#dump id all atom 50 dump.melt -#dump id all custom 50 dump.lammpstrj id type x y z c_p - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -thermo 50 -run 500 -Per MPI rank memory allocation (min/avg/max) = 4.132 | 4.192 | 4.274 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137 - 50 0.48653399 -6.1788509 0 -5.4492324 -1.6017778 4738.2137 - 100 0.53411175 -6.249885 0 -5.4489177 -1.9317606 4738.2137 - 150 0.53646658 -6.2527206 0 -5.4482219 -1.9689568 4738.2137 - 200 0.54551611 -6.2656326 0 -5.4475631 -2.0042104 4738.2137 - 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 4738.2137 - 300 0.5477618 -6.2678071 0 -5.4463698 -1.997842 4738.2137 - 350 0.55600296 -6.2801497 0 -5.4463538 -2.0394056 4738.2137 - 400 0.53241503 -6.2453665 0 -5.4469436 -1.878594 4738.2137 - 450 0.5439158 -6.2623 0 -5.4466302 -1.9744161 4738.2137 - 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 4738.2137 -Loop time of 2.66424 on 4 procs for 500 steps with 4000 atoms - -Performance: 81073.650 tau/day, 187.670 timesteps/s -97.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.1083 | 1.3909 | 1.7318 | 24.2 | 52.21 -Neigh | 0.19732 | 0.45425 | 0.7722 | 38.2 | 17.05 -Comm | 0.24921 | 0.79627 | 1.3351 | 60.3 | 29.89 -Output | 0.00041294 | 0.00065368 | 0.0011899 | 0.0 | 0.02 -Modify | 0.0071657 | 0.010935 | 0.015748 | 3.6 | 0.41 -Other | | 0.01124 | | | 0.42 - -Nlocal: 1000 ave 1870 max 299 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Nghost: 8679.25 ave 10190 max 7374 min -Histogram: 1 1 0 0 0 0 1 0 0 1 -Neighs: 149308 ave 215125 max 81132 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 597231 -Ave neighs/atom = 149.308 -Neighbor list builds = 50 -Dangerous builds = 0 -run 500 -Per MPI rank memory allocation (min/avg/max) = 4.134 | 4.387 | 4.664 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 4738.2137 - 550 0.53879347 -6.2554274 0 -5.4474393 -1.9756834 4738.2137 - 600 0.54275982 -6.2616799 0 -5.4477437 -1.9939993 4738.2137 - 650 0.54526651 -6.265098 0 -5.4474027 -2.0303672 4738.2137 - 700 0.54369381 -6.263201 0 -5.4478642 -1.9921967 4738.2137 - 750 0.54452777 -6.2640839 0 -5.4474964 -1.9658675 4738.2137 - 800 0.55061744 -6.2725556 0 -5.4468359 -2.0100922 4738.2137 - 850 0.55371614 -6.2763992 0 -5.4460326 -2.0065329 4738.2137 - 900 0.54756622 -6.2668303 0 -5.4456863 -1.9796122 4738.2137 - 950 0.54791593 -6.2673161 0 -5.4456477 -1.9598278 4738.2137 - 1000 0.54173198 -6.2586101 0 -5.4462153 -1.9007466 4738.2137 -Loop time of 3.02509 on 4 procs for 500 steps with 4000 atoms - -Performance: 71402.836 tau/day, 165.284 timesteps/s -96.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.6808 | 1.3385 | 1.959 | 52.5 | 44.25 -Neigh | 0.13127 | 0.4678 | 0.86924 | 48.5 | 15.46 -Comm | 0.19735 | 1.1921 | 2.1903 | 85.9 | 39.41 -Output | 0.00045371 | 0.00090569 | 0.0013952 | 0.0 | 0.03 -Modify | 0.0062041 | 0.011167 | 0.01691 | 4.5 | 0.37 -Other | | 0.01462 | | | 0.48 - -Nlocal: 1000 ave 1935 max 262 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Nghost: 8739.75 ave 10498 max 7333 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Neighs: 150170 ave 231608 max 72161 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 600678 -Ave neighs/atom = 150.169 -Neighbor list builds = 53 -Dangerous builds = 0 - -balance 1.0 shift x 10 1.0 weight group 2 fast 0.8 slow 2.5 weight store WEIGHT - rebalancing time: 0.000575304 seconds - iteration count = 10 - group weights: fast=0.8 slow=2.5 - storing weight in atom property d_WEIGHT - initial/final max load/proc = 2318.1 1408.1 - initial/final imbalance factor = 1.66172 1.00939 - x cuts: 0 0.337054 0.454419 0.59556 1 - y cuts: 0 1 - z cuts: 0 1 - -fix 0 all balance 50 1.0 shift x 5 1.0 weight var lastweight weight neigh 0.5 weight store WEIGHT - -run 500 -Per MPI rank memory allocation (min/avg/max) = 4.136 | 4.393 | 4.673 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 1000 0.54173198 -6.2586101 0 -5.4462153 -1.9007466 4738.2137 - 1050 0.54629742 -6.2657526 0 -5.4465113 -1.945821 4738.2137 - 1100 0.55427881 -6.2781733 0 -5.446963 -2.0021027 4738.2137 - 1150 0.54730654 -6.267257 0 -5.4465025 -1.9420678 4738.2137 - 1200 0.5388281 -6.2547963 0 -5.4467562 -1.890178 4738.2137 - 1250 0.54848768 -6.2694237 0 -5.4468979 -1.9636797 4738.2137 - 1300 0.54134321 -6.2590728 0 -5.447261 -1.917027 4738.2137 - 1350 0.53564389 -6.2501521 0 -5.4468871 -1.8642306 4738.2137 - 1400 0.53726925 -6.2518379 0 -5.4461355 -1.8544028 4738.2137 - 1450 0.54525929 -6.2632653 0 -5.4455808 -1.9072158 4738.2137 - 1500 0.54223341 -6.2591056 0 -5.4459588 -1.8866983 4738.2137 -Loop time of 3.07108 on 4 procs for 500 steps with 4000 atoms - -Performance: 70333.514 tau/day, 162.809 timesteps/s -96.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.77463 | 1.3897 | 2.1328 | 51.3 | 45.25 -Neigh | 0.13416 | 0.45546 | 0.80534 | 46.9 | 14.83 -Comm | 0.17763 | 1.2036 | 2.1448 | 83.6 | 39.19 -Output | 0.00039482 | 0.00067067 | 0.0013118 | 0.0 | 0.02 -Modify | 0.0058403 | 0.010695 | 0.015841 | 4.5 | 0.35 -Other | | 0.01099 | | | 0.36 - -Nlocal: 1000 ave 1955 max 199 min -Histogram: 2 0 0 0 0 0 0 0 1 1 -Nghost: 8729 ave 10472 max 7399 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Neighs: 150494 ave 251670 max 54664 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 601974 -Ave neighs/atom = 150.494 -Neighbor list builds = 51 -Dangerous builds = 0 -run 500 -Per MPI rank memory allocation (min/avg/max) = 4.136 | 4.393 | 4.673 Mbytes -Step Temp E_pair E_mol TotEng Press Volume - 1500 0.54223341 -6.2591056 0 -5.4459588 -1.8866983 4738.2137 - 1550 0.55327047 -6.2750129 0 -5.4453147 -1.9506601 4738.2137 - 1600 0.54419056 -6.2612631 0 -5.4451813 -1.8559469 4738.2137 - 1650 0.54710007 -6.2661977 0 -5.4457528 -1.8882828 4738.2137 - 1700 0.53665429 -6.250492 0 -5.4457118 -1.8067907 4738.2137 - 1750 0.54864943 -6.2681198 0 -5.4453514 -1.8662924 4738.2137 - 1800 0.54477002 -6.2615118 0 -5.4445611 -1.835304 4738.2137 - 1850 0.54143129 -6.2555621 0 -5.4436182 -1.8005839 4738.2137 - 1900 0.53994573 -6.254175 0 -5.4444588 -1.7770422 4738.2137 - 1950 0.54665379 -6.2640981 0 -5.4443224 -1.7946205 4738.2137 - 2000 0.54548501 -6.2623919 0 -5.4443689 -1.8063177 4738.2137 -Loop time of 3.48709 on 4 procs for 500 steps with 4000 atoms - -Performance: 61942.848 tau/day, 143.386 timesteps/s -96.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.42099 | 1.3571 | 2.3564 | 80.4 | 38.92 -Neigh | 0.083965 | 0.4942 | 0.96204 | 58.6 | 14.17 -Comm | 0.25895 | 1.6131 | 2.9631 | 106.2 | 46.26 -Output | 0.00042915 | 0.00068706 | 0.0012567 | 0.0 | 0.02 -Modify | 0.0051193 | 0.010964 | 0.017898 | 5.5 | 0.31 -Other | | 0.01109 | | | 0.32 - -Nlocal: 1000 ave 2036 max 127 min -Histogram: 2 0 0 0 0 0 0 0 1 1 -Nghost: 8722.75 ave 10448 max 7456 min -Histogram: 2 0 0 0 0 0 1 0 0 1 -Neighs: 151642 ave 269558 max 35372 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 606566 -Ave neighs/atom = 151.642 -Neighbor list builds = 56 -Dangerous builds = 0 -Total wall time: 0:00:12 diff --git a/examples/balance/log.3Nov23.balance.bond.fast.g++.2 b/examples/balance/log.3Nov23.balance.bond.fast.g++.2 new file mode 100644 index 0000000000..0feb065e47 --- /dev/null +++ b/examples/balance/log.3Nov23.balance.bond.fast.g++.2 @@ -0,0 +1,255 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 2d circle of particles inside a box with LJ walls + +variable b index 0 + +variable x index 50 +variable y index 20 +variable d index 20 +variable v index 5 +variable w index 2 + +units lj +dimension 2 +atom_style bond +boundary f f p + +lattice hex 0.85 +Lattice spacing in x,y,z = 1.1655347 2.0187654 1.1655347 +region box block 0 $x 0 $y -0.5 0.5 +region box block 0 50 0 $y -0.5 0.5 +region box block 0 50 0 20 -0.5 0.5 +create_box 1 box bond/types 1 extra/bond/per/atom 6 +Created orthogonal box = (0 0 -0.58276737) to (58.276737 40.375308 0.58276737) + 2 by 1 by 1 MPI processor grid +region circle sphere $(v_d/2+1) $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) +region circle sphere 11 $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) +region circle sphere 11 6.7735026918962581988 0.0 $(v_d/2) +region circle sphere 11 6.7735026918962581988 0.0 10 +create_atoms 1 region circle +Created 361 atoms + using lattice units in orthogonal box = (0 0 -0.58276737) to (58.276737 40.375308 0.58276737) + create_atoms CPU = 0.001 seconds +mass 1 1.0 + +velocity all create 0.5 87287 loop geom +velocity all set $v $w 0 sum yes +velocity all set 5 $w 0 sum yes +velocity all set 5 2 0 sum yes + +pair_style lj/cut 2.5 +pair_coeff 1 1 10.0 1.0 2.5 + +bond_style harmonic +bond_coeff 1 10.0 1.2 + +# need to preserve 1-3, 1-4 pairwise interactions during hard collisions + +special_bonds lj/coul 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 0 = max # of 1-2 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds +create_bonds many all all 1 1.0 1.5 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +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 = 42 29 1 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) command create_bonds, occasional + attributes: full, newton on + pair build: full/bin + stencil: full/bin/2d + bin: standard + (2) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Added 1014 bonds, new total = 1014 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 6 = max # of 1-2 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi $x 1 1 2.5 +fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi 50 1 1 2.5 +fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi $y 1 1 2.5 +fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi 20 1 1 2.5 + +comm_style tiled +comm_modify cutoff 10.0 # because bonds stretch a long ways +fix 10 all balance 50 0.9 rcb + +#compute 1 all property/atom proc +#variable p atom (c_1%10)+1 +#dump 2 all custom 50 tmp.dump id v_p x y z + +#dump 3 all image 50 image.*.jpg v_p type bond atom 0.25 # adiam 1.0 view 0 0 zoom 1.8 subbox yes 0.02 +#variable colors string # "red green blue yellow white # purple pink orange lime gray" +#dump_modify 3 pad 5 amap 0 10 sa 1 10 ${colors} + +thermo_style custom step temp epair press f_10[3] f_10 +thermo 100 +timestep 0.001 + +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +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 = 10 + binsize = 1.4, bins = 42 29 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.157 | 5.167 | 5.178 Mbytes + Step Temp E_pair Press f_10[3] f_10 + 0 25.701528 -2.2032569 3.1039469 2 1.0193906 + 100 25.57187 -2.2902218 2.9990153 1.0193906 1.0027701 + 200 25.532511 -2.5273097 2.8286231 1.0304709 1.0027701 + 300 25.860246 -3.0674998 2.6725358 1.0138504 1.0027701 + 400 26.628011 -4.394738 2.6618897 1.0138504 1.0083102 + 500 27.627309 -6.2305012 2.6564278 1.0138504 1.0027701 + 600 28.881803 -8.2757766 2.8249236 1.0138504 1.0027701 + 700 29.941402 -9.9816088 2.9828232 1.0138504 1.0027701 + 800 31.118457 -12.199787 3.2044549 1.0249307 1.0083102 + 900 32.393498 -14.204491 2.9496587 1.0304709 1.0027701 + 1000 33.392657 -15.747519 3.1613807 1.0249307 1.0027701 + 1100 34.671769 -17.728904 3.019138 1.0193906 1.0083102 + 1200 35.632627 -19.846347 3.1061176 1.0193906 1.0083102 + 1300 36.77272 -21.156179 3.2353009 1.0415512 1.0027701 + 1400 38.241608 -22.744765 4.1163075 1.0193906 1.0027701 + 1500 40.072478 -25.139827 5.3032535 1.0304709 1.0027701 + 1600 40.665382 -25.901697 5.4330761 1.0304709 1.0027701 + 1700 40.957034 -26.28667 7.1881521 1.0360111 1.0027701 + 1800 41.536831 -27.393841 6.6814405 1.0470914 1.0027701 + 1900 41.952676 -28.123051 7.4683871 1.0360111 1.0027701 + 2000 42.201937 -28.685743 7.4624285 1.0304709 1.0027701 + 2100 41.509082 -27.909225 6.8666951 1.0304709 1.0083102 + 2200 40.794911 -27.085519 5.2599455 1.0415512 1.0027701 + 2300 38.74971 -25.146012 4.2936194 1.0360111 1.0083102 + 2400 38.418073 -24.593601 3.1418121 1.0470914 1.0027701 + 2500 36.932581 -23.407617 1.9397617 1.0304709 1.0027701 + 2600 35.979152 -23.066707 2.1676871 1.0415512 1.0027701 + 2700 35.848339 -22.556586 2.079815 1.0526316 1.0027701 + 2800 35.796197 -22.092919 2.6843042 1.0470914 1.0027701 + 2900 35.752758 -21.6603 2.4924275 1.0360111 1.0083102 + 3000 36.548479 -21.940002 2.8478206 1.0304709 1.0027701 + 3100 36.74473 -22.072441 3.7028736 1.0193906 1.0027701 + 3200 36.633543 -22.568923 3.7319143 1.0249307 1.0083102 + 3300 37.175051 -23.069268 3.5045201 1.0193906 1.0027701 + 3400 36.942892 -23.480254 3.1212991 1.0193906 1.0027701 + 3500 37.813564 -24.659011 3.6045332 1.0138504 1.0027701 + 3600 37.856787 -24.954353 4.3062815 1.0249307 1.0027701 + 3700 38.543481 -25.054481 4.7177629 1.0304709 1.0027701 + 3800 39.011196 -25.760455 4.9664492 1.0304709 1.0027701 + 3900 38.784228 -25.618896 4.944851 1.0304709 1.0027701 + 4000 39.348833 -26.615389 4.8191233 1.0304709 1.0027701 + 4100 39.242191 -26.754066 4.7960336 1.0249307 1.0027701 + 4200 38.989902 -26.741978 3.7980048 1.0415512 1.0027701 + 4300 38.726515 -25.916493 3.7176038 1.0304709 1.0027701 + 4400 38.720441 -25.549542 3.3956415 1.0470914 1.0027701 + 4500 38.22257 -25.122141 4.5771547 1.0304709 1.0083102 + 4600 38.217511 -25.390842 4.4896706 1.0360111 1.0027701 + 4700 39.121636 -26.227786 4.9811267 1.0415512 1.0083102 + 4800 39.306166 -26.700977 4.9963051 1.0249307 1.0027701 + 4900 38.909059 -25.799524 6.1957543 1.0692521 1.0027701 + 5000 38.778196 -26.491002 5.6393984 1.0526316 1.0027701 + 5100 38.587868 -27.253335 5.5460314 1.0415512 1.0027701 + 5200 38.686438 -27.40612 5.5186442 1.0249307 1.0027701 + 5300 37.986414 -26.049806 5.3696903 1.0304709 1.0027701 + 5400 37.111804 -26.019738 4.2114526 1.0415512 1.0083102 + 5500 36.62295 -25.592884 5.1349 1.0415512 1.0027701 + 5600 36.087987 -25.398454 4.4963434 1.0249307 1.0083102 + 5700 34.435409 -24.548062 3.5310124 1.0249307 1.0027701 + 5800 33.18681 -22.76355 3.2061242 1.0470914 1.0027701 + 5900 32.57428 -21.832024 3.2865828 1.0193906 1.0027701 + 6000 30.557555 -20.714816 4.2280358 1.0304709 1.0083102 + 6100 31.893092 -21.235479 4.5931729 1.0304709 1.0027701 + 6200 31.577761 -21.222778 4.1847871 1.0415512 1.0027701 + 6300 32.003743 -20.825156 5.6968257 1.0526316 1.0027701 + 6400 32.073012 -20.877815 7.3062956 1.0360111 1.0027701 + 6500 31.588306 -21.556202 5.7846536 1.0138504 1.0027701 + 6600 32.453985 -21.478064 4.8089249 1.0083102 1.0027701 + 6700 31.269576 -21.24005 4.0540095 1.0193906 1.0027701 + 6800 31.548438 -21.335039 3.767158 1.0138504 1.0027701 + 6900 31.249216 -20.689547 4.5435057 1.0083102 1.0027701 + 7000 31.72893 -20.373971 6.0204212 1.0249307 1.0027701 + 7100 30.888569 -19.028984 5.2458824 1.0027701 1.0027701 + 7200 30.747229 -19.579694 3.2582453 1.0138504 1.0083102 + 7300 28.339584 -19.225504 3.1235472 1.0193906 1.0027701 + 7400 26.754307 -18.557545 1.3860606 1.0193906 1.0083102 + 7500 26.559389 -17.395026 1.7206081 1.0138504 1.0083102 + 7600 26.227728 -16.755138 2.1148459 1.0193906 1.0027701 + 7700 26.361463 -15.711397 2.5458994 1.0138504 1.0027701 + 7800 26.081484 -16.032712 0.70050048 1.0138504 1.0027701 + 7900 24.660082 -15.079215 1.1999533 1.0138504 1.0027701 + 8000 24.448184 -14.668849 0.63886653 1.0138504 1.0083102 + 8100 24.198589 -15.157555 0.12256041 1.0027701 1.0027701 + 8200 24.764129 -14.876966 0.97060609 1.0249307 1.0083102 + 8300 25.33268 -14.891698 1.6089548 1.0083102 1.0027701 + 8400 24.992342 -14.652659 1.3317376 1.0138504 1.0027701 + 8500 25.115045 -14.683247 0.98361969 1.0138504 1.0027701 + 8600 24.954894 -14.451543 1.2228755 1.0083102 1.0027701 + 8700 24.51303 -14.159235 0.75345783 1.0249307 1.0083102 + 8800 22.697326 -13.254743 1.2913804 1.0138504 1.0027701 + 8900 22.868775 -13.677092 -0.048154854 1.0083102 1.0027701 + 9000 25.269332 -13.649225 1.0337367 1.0083102 1.0083102 + 9100 24.184813 -12.826606 1.1160895 1.0360111 1.0027701 + 9200 23.664589 -13.449013 0.031451624 1.0193906 1.0083102 + 9300 23.944566 -13.401803 0.20095909 1.0193906 1.0027701 + 9400 24.146696 -12.879011 0.89518549 1.0249307 1.0027701 + 9500 25.383214 -13.411768 0.95798595 1.0304709 1.0027701 + 9600 25.248933 -13.838658 0.45253554 1.0304709 1.0027701 + 9700 24.38613 -13.123006 1.5446061 1.0138504 1.0027701 + 9800 25.743921 -13.610838 1.2556191 1.0083102 1.0027701 + 9900 26.468479 -13.72971 2.3998562 1.0249307 1.0027701 + 10000 26.338099 -14.82183 1.5233934 1.0193906 1.0027701 +Loop time of 0.372607 on 2 procs for 10000 steps with 361 atoms + +Performance: 2318795.909 tau/day, 26837.916 timesteps/s, 9.688 Matom-step/s +96.0% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.13582 | 0.14029 | 0.14475 | 1.2 | 37.65 +Bond | 0.035027 | 0.035038 | 0.035049 | 0.0 | 9.40 +Neigh | 0.085828 | 0.08675 | 0.087673 | 0.3 | 23.28 +Comm | 0.05562 | 0.05851 | 0.061399 | 1.2 | 15.70 +Output | 0.0010102 | 0.0011746 | 0.0013391 | 0.5 | 0.32 +Modify | 0.029008 | 0.02926 | 0.029512 | 0.1 | 7.85 +Other | | 0.02159 | | | 5.79 + +Nlocal: 180.5 ave 181 max 180 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 166.5 ave 170 max 163 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 1628.5 ave 1652 max 1605 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 3257 +Ave neighs/atom = 9.0221607 +Ave special neighs/atom = 5.6177285 +Neighbor list builds = 1208 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/balance/log.3Nov23.balance.bond.fast.g++.4 b/examples/balance/log.3Nov23.balance.bond.fast.g++.4 new file mode 100644 index 0000000000..0f17f88ab6 --- /dev/null +++ b/examples/balance/log.3Nov23.balance.bond.fast.g++.4 @@ -0,0 +1,255 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 2d circle of particles inside a box with LJ walls + +variable b index 0 + +variable x index 50 +variable y index 20 +variable d index 20 +variable v index 5 +variable w index 2 + +units lj +dimension 2 +atom_style bond +boundary f f p + +lattice hex 0.85 +Lattice spacing in x,y,z = 1.1655347 2.0187654 1.1655347 +region box block 0 $x 0 $y -0.5 0.5 +region box block 0 50 0 $y -0.5 0.5 +region box block 0 50 0 20 -0.5 0.5 +create_box 1 box bond/types 1 extra/bond/per/atom 6 +Created orthogonal box = (0 0 -0.58276737) to (58.276737 40.375308 0.58276737) + 2 by 2 by 1 MPI processor grid +region circle sphere $(v_d/2+1) $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) +region circle sphere 11 $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) +region circle sphere 11 6.7735026918962581988 0.0 $(v_d/2) +region circle sphere 11 6.7735026918962581988 0.0 10 +create_atoms 1 region circle +Created 361 atoms + using lattice units in orthogonal box = (0 0 -0.58276737) to (58.276737 40.375308 0.58276737) + create_atoms CPU = 0.001 seconds +mass 1 1.0 + +velocity all create 0.5 87287 loop geom +velocity all set $v $w 0 sum yes +velocity all set 5 $w 0 sum yes +velocity all set 5 2 0 sum yes + +pair_style lj/cut 2.5 +pair_coeff 1 1 10.0 1.0 2.5 + +bond_style harmonic +bond_coeff 1 10.0 1.2 + +# need to preserve 1-3, 1-4 pairwise interactions during hard collisions + +special_bonds lj/coul 0 1 1 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 0 = max # of 1-2 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds +create_bonds many all all 1 1.0 1.5 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +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 = 42 29 1 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) command create_bonds, occasional + attributes: full, newton on + pair build: full/bin + stencil: full/bin/2d + bin: standard + (2) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Added 1014 bonds, new total = 1014 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 6 = max # of 1-2 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi $x 1 1 2.5 +fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi 50 1 1 2.5 +fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi $y 1 1 2.5 +fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi 20 1 1 2.5 + +comm_style tiled +comm_modify cutoff 10.0 # because bonds stretch a long ways +fix 10 all balance 50 0.9 rcb + +#compute 1 all property/atom proc +#variable p atom (c_1%10)+1 +#dump 2 all custom 50 tmp.dump id v_p x y z + +#dump 3 all image 50 image.*.jpg v_p type bond atom 0.25 # adiam 1.0 view 0 0 zoom 1.8 subbox yes 0.02 +#variable colors string # "red green blue yellow white # purple pink orange lime gray" +#dump_modify 3 pad 5 amap 0 10 sa 1 10 ${colors} + +thermo_style custom step temp epair press f_10[3] f_10 +thermo 100 +timestep 0.001 + +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +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 = 10 + binsize = 1.4, bins = 42 29 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.123 | 5.142 | 5.176 Mbytes + Step Temp E_pair Press f_10[3] f_10 + 0 25.701528 -2.2032569 3.1039469 3.2354571 1.0526316 + 100 25.57187 -2.2902218 2.9990153 1.0526316 1.0193906 + 200 25.532511 -2.5273097 2.8286231 1.0526316 1.0083102 + 300 25.860246 -3.0674998 2.6725358 1.0415512 1.0083102 + 400 26.628011 -4.394738 2.6618897 1.0526316 1.0083102 + 500 27.627309 -6.2305012 2.6564278 1.0415512 1.0083102 + 600 28.881803 -8.2757766 2.8249236 1.0526316 1.0083102 + 700 29.941402 -9.9816088 2.9828232 1.0526316 1.0083102 + 800 31.118457 -12.199787 3.2044549 1.0304709 1.0083102 + 900 32.393498 -14.204491 2.9496587 1.0747922 1.0193906 + 1000 33.392657 -15.747519 3.1613807 1.0637119 1.0193906 + 1100 34.671769 -17.728904 3.019138 1.0526316 1.0193906 + 1200 35.632627 -19.846347 3.1061176 1.0637119 1.0193906 + 1300 36.77272 -21.156179 3.2353009 1.0415512 1.0193906 + 1400 38.241608 -22.744765 4.1163075 1.0637119 1.0083102 + 1500 40.072478 -25.139827 5.3032535 1.0415512 1.0193906 + 1600 40.665382 -25.901697 5.4330761 1.0858726 1.0083102 + 1700 40.957034 -26.28667 7.1881521 1.1080332 1.0083102 + 1800 41.536831 -27.393841 6.6814405 1.0969529 1.0193906 + 1900 41.952676 -28.123051 7.4683871 1.0858726 1.0193906 + 2000 42.201937 -28.685743 7.4624284 1.0747922 1.0083102 + 2100 41.509082 -27.909225 6.8666955 1.0969529 1.0083102 + 2200 40.794912 -27.085519 5.259945 1.0415512 1.0083102 + 2300 38.749709 -25.14601 4.2936222 1.0526316 1.0083102 + 2400 38.418065 -24.593596 3.1418049 1.1191136 1.0083102 + 2500 36.932588 -23.407613 1.9397982 1.0637119 1.0083102 + 2600 35.979181 -23.066748 2.1678902 1.0637119 1.0193906 + 2700 35.84858 -22.55645 2.0798013 1.0858726 1.0193906 + 2800 35.795795 -22.092149 2.6849882 1.0637119 1.0193906 + 2900 35.754958 -21.662138 2.4892921 1.0526316 1.0083102 + 3000 36.548644 -21.943203 2.8497192 1.0747922 1.0083102 + 3100 36.755531 -22.081384 3.6960187 1.0858726 1.0193906 + 3200 36.606921 -22.538438 3.7047874 1.0415512 1.0193906 + 3300 37.185396 -23.077004 3.4202006 1.0858726 1.0083102 + 3400 37.136687 -23.617745 2.9763794 1.0858726 1.0083102 + 3500 37.908279 -24.364631 3.5155218 1.0304709 1.0083102 + 3600 38.459203 -25.01024 4.3313693 1.0747922 1.0083102 + 3700 39.108683 -25.636756 4.4707992 1.0415512 1.0083102 + 3800 38.67059 -25.126486 5.3753987 1.0747922 1.0083102 + 3900 38.395639 -25.140269 5.1661495 1.0858726 1.0193906 + 4000 38.552057 -24.871721 5.0206769 1.0747922 1.0083102 + 4100 39.065683 -25.344035 4.4042913 1.0858726 1.0083102 + 4200 37.714294 -24.728278 5.1978439 1.0304709 1.0083102 + 4300 38.785555 -25.380643 3.7033369 1.0304709 1.0193906 + 4400 38.341445 -25.13442 3.4298833 1.1191136 1.0193906 + 4500 37.720522 -24.702087 3.4450752 1.0637119 1.0083102 + 4600 37.509806 -24.477444 3.6155741 1.0858726 1.0083102 + 4700 37.319957 -23.722654 4.7111338 1.0526316 1.0193906 + 4800 38.233154 -24.653472 4.25263 1.0637119 1.0083102 + 4900 37.309164 -24.21353 4.8513758 1.0637119 1.0193906 + 5000 37.559292 -24.720651 5.409312 1.0415512 1.0193906 + 5100 37.449783 -25.21538 6.0099692 1.0747922 1.0083102 + 5200 38.187982 -25.16709 6.1425844 1.0415512 1.0083102 + 5300 36.91668 -24.616017 4.7873357 1.0304709 1.0083102 + 5400 35.103465 -23.85158 5.1950262 1.0304709 1.0193906 + 5500 35.299351 -23.946174 4.8038223 1.0526316 1.0083102 + 5600 35.713482 -24.962908 3.5111314 1.0193906 1.0193906 + 5700 33.740794 -23.77699 4.5783011 1.0304709 1.0193906 + 5800 33.791635 -23.536627 3.1317306 1.0415512 1.0193906 + 5900 34.039769 -23.068008 4.0189755 1.0415512 1.0083102 + 6000 32.809103 -22.085195 4.0827943 1.0637119 1.0193906 + 6100 32.522642 -21.979287 4.1437901 1.0637119 1.0083102 + 6200 32.347924 -21.661359 4.1436759 1.0526316 1.0193906 + 6300 32.099974 -21.114688 5.5745084 1.0193906 1.0193906 + 6400 33.767704 -23.489786 4.1038662 1.0526316 1.0193906 + 6500 32.283906 -22.076822 7.2664805 1.0526316 1.0083102 + 6600 33.25146 -23.191973 6.01093 1.0526316 1.0083102 + 6700 31.7665 -22.1476 6.4256074 1.0747922 1.0193906 + 6800 30.775727 -21.513059 5.1709188 1.0304709 1.0083102 + 6900 30.964501 -21.153634 5.1077701 1.0193906 1.0193906 + 7000 31.292268 -20.800916 3.6047789 1.0193906 1.0193906 + 7100 31.460811 -20.280043 3.2369395 1.0193906 1.0083102 + 7200 30.871387 -19.340893 2.9615798 1.0193906 1.0083102 + 7300 28.983475 -18.709174 3.1686601 1.0304709 1.0083102 + 7400 28.032829 -18.200801 1.8738157 1.0304709 1.0193906 + 7500 28.088176 -17.117863 3.5604961 1.0304709 1.0083102 + 7600 27.456327 -17.011025 1.7822114 1.0526316 1.0304709 + 7700 26.483887 -16.024179 1.258431 1.0415512 1.0193906 + 7800 26.023393 -15.532176 1.3663841 1.0304709 1.0083102 + 7900 26.154386 -14.738286 1.5214339 1.0415512 1.0193906 + 8000 25.755121 -14.487715 1.0185064 1.0415512 1.0304709 + 8100 25.468927 -14.273205 1.3553057 1.0526316 1.0304709 + 8200 25.74216 -14.606852 0.13693979 1.0193906 1.0083102 + 8300 24.457219 -14.529941 -0.0032579349 1.0304709 1.0193906 + 8400 24.054076 -13.704387 0.80714443 1.0193906 1.0193906 + 8500 23.742098 -13.699968 0.41096573 1.0304709 1.0193906 + 8600 24.060806 -13.289555 0.22489663 1.0193906 1.0083102 + 8700 23.831533 -13.025052 -0.090244538 1.0304709 1.0193906 + 8800 23.823082 -13.407662 -0.28029605 1.0304709 1.0083102 + 8900 23.982182 -12.862338 0.50556065 1.0193906 1.0193906 + 9000 24.876045 -13.400416 1.1475671 1.0415512 1.0193906 + 9100 25.018155 -13.625286 0.74749825 1.0304709 1.0083102 + 9200 25.671195 -13.850993 0.88340554 1.0526316 1.0083102 + 9300 26.076502 -13.935292 1.2705214 1.0526316 1.0083102 + 9400 25.847786 -13.626034 1.5676611 1.0415512 1.0193906 + 9500 25.963986 -14.23672 1.4791684 1.0304709 1.0083102 + 9600 26.58066 -14.74703 1.3431841 1.0526316 1.0083102 + 9700 27.401448 -14.568412 2.4488742 1.0747922 1.0083102 + 9800 27.927894 -15.254362 2.8516414 1.0415512 1.0083102 + 9900 28.204891 -15.219892 3.0631109 1.0415512 1.0083102 + 10000 27.30902 -14.939134 2.8235246 1.0304709 1.0083102 +Loop time of 0.317224 on 4 procs for 10000 steps with 361 atoms + +Performance: 2723630.892 tau/day, 31523.506 timesteps/s, 11.380 Matom-step/s +89.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.066318 | 0.073612 | 0.081352 | 2.6 | 23.21 +Bond | 0.01886 | 0.020483 | 0.022893 | 1.1 | 6.46 +Neigh | 0.051128 | 0.052747 | 0.054345 | 0.5 | 16.63 +Comm | 0.093881 | 0.11329 | 0.13156 | 4.2 | 35.71 +Output | 0.0011573 | 0.0013205 | 0.0016444 | 0.5 | 0.42 +Modify | 0.025957 | 0.026647 | 0.027249 | 0.3 | 8.40 +Other | | 0.02913 | | | 9.18 + +Nlocal: 90.25 ave 91 max 89 min +Histogram: 1 0 0 0 0 1 0 0 0 2 +Nghost: 260.75 ave 265 max 256 min +Histogram: 1 0 1 0 0 0 0 0 1 1 +Neighs: 889.5 ave 1035 max 794 min +Histogram: 1 1 0 0 1 0 0 0 0 1 + +Total # of neighbors = 3558 +Ave neighs/atom = 9.8559557 +Ave special neighs/atom = 5.6177285 +Neighbor list builds = 1192 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/balance/log.3Nov23.balance.bond.slow.g++.2 b/examples/balance/log.3Nov23.balance.bond.slow.g++.2 new file mode 100644 index 0000000000..96ee2e2016 --- /dev/null +++ b/examples/balance/log.3Nov23.balance.bond.slow.g++.2 @@ -0,0 +1,550 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 2d circle of particles inside a box with LJ walls + +variable b index 0 + +variable x index 50 +variable y index 20 +variable d index 20 + +# careful not to slam into wall too hard + +variable v index 0.3 +variable w index 0.08 + +units lj +dimension 2 +atom_style bond +boundary f f p + +lattice hex 0.85 +Lattice spacing in x,y,z = 1.1655347 2.0187654 1.1655347 +region box block 0 $x 0 $y -0.5 0.5 +region box block 0 50 0 $y -0.5 0.5 +region box block 0 50 0 20 -0.5 0.5 +create_box 1 box bond/types 1 extra/bond/per/atom 6 +Created orthogonal box = (0 0 -0.58276737) to (58.276737 40.375308 0.58276737) + 2 by 1 by 1 MPI processor grid +region circle sphere $(v_d/2+1) $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) +region circle sphere 11 $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) +region circle sphere 11 6.7735026918962581988 0.0 $(v_d/2) +region circle sphere 11 6.7735026918962581988 0.0 10 +create_atoms 1 region circle +Created 361 atoms + using lattice units in orthogonal box = (0 0 -0.58276737) to (58.276737 40.375308 0.58276737) + create_atoms CPU = 0.001 seconds +mass 1 1.0 + +velocity all create 0.5 87287 loop geom +velocity all set $v $w 0 sum yes +velocity all set 0.3 $w 0 sum yes +velocity all set 0.3 0.08 0 sum yes + +pair_style lj/cut 2.5 +pair_coeff 1 1 10.0 1.0 2.5 + +bond_style harmonic +bond_coeff 1 10.0 1.2 + +create_bonds many all all 1 1.0 1.5 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +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 = 42 29 1 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) command create_bonds, occasional + attributes: full, newton on + pair build: full/bin + stencil: full/bin/2d + bin: standard + (2) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Added 1014 bonds, new total = 1014 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 6 = max # of 1-2 neighbors + 30 = max # of 1-3 neighbors + 180 = max # of 1-4 neighbors + 36 = max # of special neighbors + special bonds CPU = 0.002 seconds + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi $x 1 1 2.5 +fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi 50 1 1 2.5 +fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi $y 1 1 2.5 +fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi 20 1 1 2.5 + +comm_style tiled +fix 10 all balance 50 0.9 rcb + +#compute 1 all property/atom proc +#variable p atom (c_1%10)+1 +#dump 2 all custom 50 tmp.dump id v_p x y z + +#dump 3 all image 200 image.*.jpg v_p type bond atom 0.25 # adiam 1.0 view 0 0 zoom 1.8 subbox yes 0.02 +#variable colors string # "red green blue yellow white # purple pink orange lime gray" +#dump_modify 3 pad 5 amap 0 10 sa 1 10 ${colors} + +thermo_style custom step temp epair press f_10[3] f_10 +thermo 100 +timestep 0.001 + +run 40000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +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 = 42 29 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.08 | 7.108 | 7.137 Mbytes + Step Temp E_pair Press f_10[3] f_10 + 0 0.57437856 0 0.26099453 2 1.0193906 + 100 0.36302846 0 0.17339851 1.0027701 1.0027701 + 200 0.19645077 0 0.087800915 1.0027701 1.0027701 + 300 0.32061117 0 0.11295723 1.0027701 1.0027701 + 400 0.32854136 0 0.11325585 1.0027701 1.0027701 + 500 0.29754179 0 0.10150632 1.0083102 1.0027701 + 600 0.37384867 0 0.11949784 1.0027701 1.0027701 + 700 0.33202319 0 0.092871339 1.0027701 1.0083102 + 800 0.28340637 0 0.065861565 1.0027701 1.0027701 + 900 0.36250157 0 0.085896287 1.0083102 1.0027701 + 1000 0.35402718 0 0.07519914 1.0027701 1.0083102 + 1100 0.31576357 0 0.050253636 1.0083102 1.0027701 + 1200 0.35727572 0 0.05153538 1.0027701 1.0027701 + 1300 0.34322607 0 0.036115722 1.0027701 1.0027701 + 1400 0.34007557 0 0.025378602 1.0027701 1.0083102 + 1500 0.39242551 0 0.033002212 1.0027701 1.0027701 + 1600 0.35679049 0 0.010101576 1.0027701 1.0027701 + 1700 0.31293001 0 -0.013791036 1.0027701 1.0027701 + 1800 0.34767962 0 -0.0065490806 1.0027701 1.0027701 + 1900 0.34721592 0 -0.010055082 1.0027701 1.0083102 + 2000 0.34074949 0 -0.020822697 1.0027701 1.0027701 + 2100 0.37195615 0 -0.024943134 1.0027701 1.0027701 + 2200 0.35367164 0 -0.047369336 1.0027701 1.0027701 + 2300 0.32088735 0 -0.069724381 1.0027701 1.0027701 + 2400 0.34291945 0 -0.065470223 1.0027701 1.0027701 + 2500 0.35204641 0 -0.062631879 1.0027701 1.0027701 + 2600 0.32762755 0 -0.075128824 1.0027701 1.0083102 + 2700 0.32042617 0 -0.086259498 1.0083102 1.0027701 + 2800 0.32747171 0 -0.094775765 1.0027701 1.0027701 + 2900 0.33544664 0 -0.10376048 1.0027701 1.0027701 + 3000 0.34015845 0 -0.1112134 1.0083102 1.0027701 + 3100 0.34425802 0 -0.11413914 1.0027701 1.0083102 + 3200 0.34158654 0 -0.1164643 1.0027701 1.0027701 + 3300 0.32525955 0 -0.12206636 1.0027701 1.0083102 + 3400 0.32183965 0 -0.12186353 1.0083102 1.0027701 + 3500 0.3323435 0 -0.11597815 1.0027701 1.0027701 + 3600 0.34124638 0 -0.11177335 1.0083102 1.0083102 + 3700 0.3404339 0 -0.11235575 1.0027701 1.0027701 + 3800 0.32736123 0 -0.11610108 1.0027701 1.0027701 + 3900 0.32897993 0 -0.11138151 1.0027701 1.0027701 + 4000 0.35111095 0 -0.096171644 1.0083102 1.0027701 + 4100 0.34682622 0 -0.087507472 1.0027701 1.0027701 + 4200 0.3307829 0 -0.079759555 1.0027701 1.0027701 + 4300 0.35057085 0 -0.055194355 1.0027701 1.0027701 + 4400 0.36389071 0 -0.02963313 1.0027701 1.0083102 + 4500 0.35694456 0 -0.013842583 1.0027701 1.0027701 + 4600 0.3472078 0 -0.0048118723 1.0083102 1.0027701 + 4700 0.31734514 0 -0.0032417081 1.0027701 1.0027701 + 4800 0.32419237 0 0.01409306 1.0027701 1.0027701 + 4900 0.36939799 0 0.045351789 1.0027701 1.0083102 + 5000 0.36998276 0 0.056830437 1.0027701 1.0027701 + 5100 0.33969031 0 0.051833536 1.0027701 1.0027701 + 5200 0.33910288 0 0.055544085 1.0027701 1.0027701 + 5300 0.34641009 0 0.0651487 1.0027701 1.0027701 + 5400 0.34469325 0 0.074538093 1.0027701 1.0027701 + 5500 0.34582041 0 0.084940845 1.0027701 1.0027701 + 5600 0.33471774 0 0.090102411 1.0027701 1.0083102 + 5700 0.32667873 0 0.09528948 1.0083102 1.0027701 + 5800 0.33762496 0 0.10545364 1.0027701 1.0027701 + 5900 0.33285742 0 0.10816506 1.0027701 1.0027701 + 6000 0.31920877 0 0.10547467 1.0027701 1.0027701 + 6100 0.31933081 0 0.10610684 1.0027701 1.0027701 + 6200 0.3152523 0 0.10651599 1.0083102 1.0083102 + 6300 0.32548074 0 0.11405234 1.0027701 1.0027701 + 6400 0.33851595 0 0.12389967 1.0027701 1.0027701 + 6500 0.32957825 0 0.12493331 1.0027701 1.0027701 + 6600 0.32319786 0 0.12404318 1.0027701 1.0027701 + 6700 0.3223738 0 0.12418108 1.0083102 1.0027701 + 6800 0.32390959 0 0.12576314 1.0027701 1.0027701 + 6900 0.34414413 0 0.1318456 1.0027701 1.0027701 + 7000 0.34508922 0 0.12669741 1.0027701 1.0083102 + 7100 0.31655025 0 0.10869109 1.0027701 1.0027701 + 7200 0.31997193 0 0.10305508 1.0027701 1.0027701 + 7300 0.33199085 0 0.10377052 1.0027701 1.0027701 + 7400 0.32146221 0 0.097589803 1.0027701 1.0027701 + 7500 0.33416843 0 0.096202638 1.0027701 1.0027701 + 7600 0.35297124 0 0.092441999 1.0027701 1.0027701 + 7700 0.34494663 0 0.075206332 1.0027701 1.0027701 + 7800 0.34010702 0 0.056336074 1.0083102 1.0027701 + 7900 0.343424 0 0.040946914 1.0027701 1.0027701 + 8000 0.33772245 0 0.025817271 1.0027701 1.0027701 + 8100 0.34463909 0 0.017237548 1.0083102 1.0083102 + 8200 0.36052034 0 0.010393623 1.0027701 1.0027701 + 8300 0.36083091 0 -0.0053933186 1.0027701 1.0027701 + 8400 0.35378067 0 -0.02600248 1.0027701 1.0027701 + 8500 0.35133887 0 -0.044211483 1.0027701 1.0027701 + 8600 0.34559937 0 -0.060861345 1.0027701 1.0027701 + 8700 0.33724119 0 -0.075776058 1.0027701 1.0027701 + 8800 0.33337192 0 -0.087098937 1.0027701 1.0027701 + 8900 0.33533081 0 -0.094631485 1.0027701 1.0083102 + 9000 0.34994303 0 -0.096758052 1.0083102 1.0083102 + 9100 0.34448227 0 -0.10330192 1.0083102 1.0083102 + 9200 0.32675792 0 -0.11000278 1.0083102 1.0083102 + 9300 0.33814013 0 -0.10358181 1.0027701 1.0027701 + 9400 0.34457419 0 -0.096896951 1.0027701 1.0027701 + 9500 0.33834959 0 -0.09547729 1.0027701 1.0027701 + 9600 0.33204582 0 -0.097694622 1.0027701 1.0027701 + 9700 0.31152805 0 -0.10637377 1.0083102 1.0027701 + 9800 0.31637311 0 -0.1053323 1.0027701 1.0027701 + 9900 0.33416162 0 -0.097857158 1.0027701 1.0083102 + 10000 0.33731767 0 -0.094656227 1.0027701 1.0027701 + 10100 0.34565093 0 -0.090199556 1.0083102 1.0083102 + 10200 0.34549074 0 -0.088914471 1.0083102 1.0027701 + 10300 0.33545625 0 -0.09066219 1.0027701 1.0083102 + 10400 0.33649703 0 -0.086437886 1.0027701 1.0027701 + 10500 0.34549848 0 -0.0767365 1.0027701 1.0027701 + 10600 0.34222917 0 -0.069368792 1.0027701 1.0027701 + 10700 0.34262469 0 -0.060550996 1.0027701 1.0027701 + 10800 0.34859129 0 -0.050692625 1.0027701 1.0027701 + 10900 0.34850448 0 -0.043627505 1.0027701 1.0027701 + 11000 0.34887257 0 -0.036859125 1.0027701 1.0083102 + 11100 0.34171718 0 -0.032690742 1.0083102 1.0027701 + 11200 0.329808 0 -0.02793377 1.0027701 1.0027701 + 11300 0.34490203 0 -0.010278222 1.0027701 1.0027701 + 11400 0.36226391 0 0.010141624 1.0027701 1.0083102 + 11500 0.35392138 0 0.021188939 1.0027701 1.0027701 + 11600 0.34378732 0 0.031423313 1.0083102 1.0083102 + 11700 0.33606385 0 0.043944374 1.0083102 1.0027701 + 11800 0.33212482 0 0.058629338 1.0027701 1.0027701 + 11900 0.34547313 0 0.078112959 1.0027701 1.0083102 + 12000 0.34840957 0 0.092356502 1.0083102 1.0027701 + 12100 0.34146853 0 0.10236492 1.0027701 1.0027701 + 12200 0.34591494 0 0.11620659 1.0027701 1.0027701 + 12300 0.33290894 0 0.12437245 1.0027701 1.0027701 + 12400 0.32423652 0 0.13191976 1.0083102 1.0083102 + 12500 0.33031748 0 0.13999363 1.0083102 1.0083102 + 12600 0.31927087 0 0.13776242 1.0083102 1.0027701 + 12700 0.30865965 0 0.13340787 1.0027701 1.0027701 + 12800 0.32542691 0 0.13690449 1.0027701 1.0083102 + 12900 0.32453244 0 0.13376127 1.0027701 1.0027701 + 13000 0.30974678 0 0.12749869 1.0027701 1.0027701 + 13100 0.32402285 0 0.13240572 1.0027701 1.0083102 + 13200 0.32896987 0 0.13257567 1.0083102 1.0027701 + 13300 0.32939197 0 0.12690791 1.0027701 1.0027701 + 13400 0.33966453 0 0.12036916 1.0027701 1.0027701 + 13500 0.33012942 0 0.10496127 1.0027701 1.0027701 + 13600 0.32363377 0 0.091763332 1.0083102 1.0083102 + 13700 0.33427955 0 0.087928243 1.0027701 1.0027701 + 13800 0.33457885 0 0.08191828 1.0027701 1.0027701 + 13900 0.33819924 0 0.074487337 1.0027701 1.0027701 + 14000 0.34611002 0 0.066256529 1.0083102 1.0027701 + 14100 0.33224254 0 0.052608223 1.0027701 1.0027701 + 14200 0.33796934 0 0.049677792 1.0027701 1.0027701 + 14300 0.36216731 0 0.055173039 1.0027701 1.0083102 + 14400 0.35140789 0 0.047322221 1.0027701 1.0027701 + 14500 0.34425046 0 0.036527245 1.0027701 1.0083102 + 14600 0.3604575 0 0.0294772 1.0083102 1.0083102 + 14700 0.3433878 0 0.0096774422 1.0083102 1.0083102 + 14800 0.3287069 0 -0.0079768782 1.0027701 1.0027701 + 14900 0.34978607 0 -0.01178453 1.0027701 1.0027701 + 15000 0.34749548 0 -0.023685074 1.0027701 1.0027701 + 15100 0.33474304 0 -0.040569945 1.0027701 1.0027701 + 15200 0.35036594 0 -0.048341599 1.0027701 1.0027701 + 15300 0.35686042 0 -0.058664905 1.0027701 1.0027701 + 15400 0.34041567 0 -0.074858327 1.0027701 1.0027701 + 15500 0.33397773 0 -0.083782088 1.0027701 1.0027701 + 15600 0.3420119 0 -0.084635487 1.0083102 1.0027701 + 15700 0.345487 0 -0.088137628 1.0027701 1.0027701 + 15800 0.33494392 0 -0.10083064 1.0027701 1.0027701 + 15900 0.32675175 0 -0.11620387 1.0027701 1.0027701 + 16000 0.33011636 0 -0.12713401 1.0027701 1.0027701 + 16100 0.32443118 0 -0.13685913 1.0027701 1.0027701 + 16200 0.31608392 0 -0.14164152 1.0027701 1.0083102 + 16300 0.33293965 0 -0.13335387 1.0027701 1.0027701 + 16400 0.34462807 0 -0.12471686 1.0027701 1.0027701 + 16500 0.33528082 0 -0.12211554 1.0027701 1.0027701 + 16600 0.34250121 0 -0.11228169 1.0027701 1.0027701 + 16700 0.35342336 0 -0.099226948 1.0027701 1.0027701 + 16800 0.33730938 0 -0.093581966 1.0027701 1.0027701 + 16900 0.3275761 0 -0.085163356 1.0027701 1.0027701 + 17000 0.33624873 0 -0.070896594 1.0083102 1.0027701 + 17100 0.34339177 0 -0.057731935 1.0027701 1.0027701 + 17200 0.34874414 0 -0.046575228 1.0027701 1.0027701 + 17300 0.33950911 0 -0.041862179 1.0027701 1.0027701 + 17400 0.33100286 0 -0.036618199 1.0027701 1.0027701 + 17500 0.34238095 0 -0.021681436 1.0027701 1.0027701 + 17600 0.35476614 0 -0.0032568304 1.0027701 1.0027701 + 17700 0.35452053 0 0.011863966 1.0027701 1.0027701 + 17800 0.35423934 0 0.024753043 1.0083102 1.0027701 + 17900 0.35001044 0 0.031647802 1.0083102 1.0083102 + 18000 0.32867773 0 0.030261102 1.0027701 1.0027701 + 18100 0.32730114 0 0.037627319 1.0027701 1.0027701 + 18200 0.35786038 0 0.057653258 1.0027701 1.0027701 + 18300 0.35598175 0 0.065533711 1.0027701 1.0027701 + 18400 0.33913202 0 0.066186406 1.0027701 1.0027701 + 18500 0.34449656 0 0.074575322 1.0027701 1.0027701 + 18600 0.34792041 0 0.083818651 1.0027701 1.0027701 + 18700 0.33910599 0 0.089751723 1.0027701 1.0027701 + 18800 0.33627789 0 0.097491916 1.0027701 1.0083102 + 18900 0.32937699 0 0.10350872 1.0083102 1.0027701 + 19000 0.30908702 0 0.10610099 1.0027701 1.0027701 + 19100 0.31033435 0 0.1168178 1.0027701 1.0027701 + 19200 0.32011336 0 0.12898885 1.0027701 1.0027701 + 19300 0.31851339 0 0.13398981 1.0027701 1.0027701 + 19400 0.33289985 0 0.1401039 1.0027701 1.0027701 + 19500 0.3387096 0 0.13971063 1.0027701 1.0027701 + 19600 0.31475734 0 0.12963499 1.0027701 1.0083102 + 19700 0.31971554 0 0.13189606 1.0083102 1.0083102 + 19800 0.33096999 0 0.13636987 1.0083102 1.0027701 + 19900 0.31601688 0 0.12889803 1.0027701 1.0027701 + 20000 0.32916469 0 0.12683491 1.0027701 1.0027701 + 20100 0.34355734 0 0.12251501 1.0027701 1.0027701 + 20200 0.33029721 0 0.10833335 1.0083102 1.0027701 + 20300 0.34079176 0 0.10305862 1.0027701 1.0027701 + 20400 0.35196716 0 0.098386494 1.0027701 1.0027701 + 20500 0.32687648 0 0.081202778 1.0083102 1.0027701 + 20600 0.33371658 0 0.074287923 1.0027701 1.0083102 + 20700 0.36625228 0 0.073768436 1.0083102 1.0027701 + 20800 0.35824217 0 0.054876358 1.0027701 1.0027701 + 20900 0.34861601 0 0.031603534 1.0027701 1.0027701 + 21000 0.35396698 0 0.013464537 1.0027701 1.0027701 + 21100 0.33592449 0 -0.0096173026 1.0027701 1.0027701 + 21200 0.327063 0 -0.025970252 1.0027701 1.0027701 + 21300 0.34418745 0 -0.030446162 1.0027701 1.0027701 + 21400 0.34181459 0 -0.039942616 1.0027701 1.0027701 + 21500 0.3315724 0 -0.05089285 1.0027701 1.0027701 + 21600 0.35674681 0 -0.047926263 1.0083102 1.0083102 + 21700 0.37320044 0 -0.047190592 1.0027701 1.0027701 + 21800 0.34626293 0 -0.063211549 1.0083102 1.0027701 + 21900 0.32941853 0 -0.078034339 1.0083102 1.0027701 + 22000 0.34102577 0 -0.083179211 1.0027701 1.0027701 + 22100 0.33614888 0 -0.091647522 1.0083102 1.0083102 + 22200 0.3339762 0 -0.09744915 1.0083102 1.0027701 + 22300 0.33867021 0 -0.10026932 1.0027701 1.0027701 + 22400 0.31974078 0 -0.10896583 1.0027701 1.0027701 + 22500 0.3261442 0 -0.10644809 1.0027701 1.0027701 + 22600 0.35128159 0 -0.097711062 1.0027701 1.0027701 + 22700 0.33133845 0 -0.10656571 1.0027701 1.0027701 + 22800 0.31730555 0 -0.11420891 1.0027701 1.0027701 + 22900 0.34720941 0 -0.10586647 1.0083102 1.0027701 + 23000 0.34418922 0 -0.10745826 1.0027701 1.0027701 + 23100 0.32342851 0 -0.11384766 1.0027701 1.0027701 + 23200 0.3408144 0 -0.10631064 1.0027701 1.0027701 + 23300 0.33006722 0 -0.1070084 1.0027701 1.0027701 + 23400 0.31578528 0 -0.10711608 1.0027701 1.0027701 + 23500 0.34908788 0 -0.088441889 1.0027701 1.0027701 + 23600 0.35801835 0 -0.075953983 1.0027701 1.0027701 + 23700 0.33573037 0 -0.072357745 1.0027701 1.0083102 + 23800 0.34435835 0 -0.055470682 1.0083102 1.0027701 + 23900 0.35307683 0 -0.036076205 1.0027701 1.0027701 + 24000 0.35184599 0 -0.020939815 1.0027701 1.0027701 + 24100 0.35687079 0 -0.0063601457 1.0027701 1.0027701 + 24200 0.33612385 0 -0.0014613923 1.0027701 1.0027701 + 24300 0.32234106 0 0.006750452 1.0027701 1.0027701 + 24400 0.34852008 0 0.029170079 1.0027701 1.0027701 + 24500 0.35224811 0 0.043783151 1.0027701 1.0027701 + 24600 0.34160459 0 0.05294313 1.0027701 1.0027701 + 24700 0.35616752 0 0.069291509 1.0027701 1.0027701 + 24800 0.34984726 0 0.076650029 1.0027701 1.0027701 + 24900 0.33337969 0 0.080083735 1.0027701 1.0027701 + 25000 0.34846751 0 0.095559187 1.0027701 1.0027701 + 25100 0.34495541 0 0.10558042 1.0027701 1.0083102 + 25200 0.32630088 0 0.10897783 1.0083102 1.0027701 + 25300 0.33651146 0 0.11888202 1.0027701 1.0027701 + 25400 0.32194445 0 0.11826793 1.0027701 1.0027701 + 25500 0.30295352 0 0.11641357 1.0027701 1.0027701 + 25600 0.33485387 0 0.13204258 1.0027701 1.0027701 + 25700 0.34407287 0 0.13738986 1.0027701 1.0027701 + 25800 0.32421817 0 0.12822703 1.0083102 1.0083102 + 25900 0.32463356 0 0.12403448 1.0027701 1.0027701 + 26000 0.32431468 0 0.12087994 1.0027701 1.0083102 + 26100 0.31886825 0 0.11741621 1.0083102 1.0027701 + 26200 0.32607823 0 0.1180517 1.0083102 1.0027701 + 26300 0.32511255 0 0.11479741 1.0027701 1.0083102 + 26400 0.32336124 0 0.11055002 1.0027701 1.0027701 + 26500 0.33026321 0 0.10934888 1.0027701 1.0027701 + 26600 0.32604491 0 0.10480442 1.0027701 1.0027701 + 26700 0.33764955 0 0.10458959 1.0027701 1.0027701 + 26800 0.35202544 0 0.10295075 1.0027701 1.0027701 + 26900 0.33382028 0 0.088148483 1.0027701 1.0027701 + 27000 0.33252808 0 0.078275659 1.0027701 1.0027701 + 27100 0.35433636 0 0.076729989 1.0083102 1.0027701 + 27200 0.34824881 0 0.065720375 1.0083102 1.0027701 + 27300 0.33525644 0 0.051611147 1.0027701 1.0027701 + 27400 0.34685762 0 0.045597284 1.0027701 1.0027701 + 27500 0.35181712 0 0.037076034 1.0027701 1.0027701 + 27600 0.34541685 0 0.022287411 1.0027701 1.0027701 + 27700 0.34559823 0 0.0056480168 1.0027701 1.0083102 + 27800 0.33646375 0 -0.015571541 1.0027701 1.0027701 + 27900 0.33681932 0 -0.031777883 1.0083102 1.0027701 + 28000 0.35093514 0 -0.041519343 1.0027701 1.0027701 + 28100 0.34345697 0 -0.057623438 1.0027701 1.0027701 + 28200 0.33655073 0 -0.072228985 1.0027701 1.0027701 + 28300 0.34428448 0 -0.080015243 1.0027701 1.0027701 + 28400 0.34089922 0 -0.089955339 1.0027701 1.0027701 + 28500 0.34522966 0 -0.096529413 1.0083102 1.0027701 + 28600 0.34713819 0 -0.10221712 1.0083102 1.0083102 + 28700 0.33692049 0 -0.10868625 1.0027701 1.0027701 + 28800 0.34522852 0 -0.10679446 1.0027701 1.0083102 + 28900 0.33956477 0 -0.1105454 1.0083102 1.0027701 + 29000 0.30989301 0 -0.12332622 1.0083102 1.0083102 + 29100 0.32373738 0 -0.11985261 1.0027701 1.0027701 + 29200 0.35156812 0 -0.10956099 1.0027701 1.0027701 + 29300 0.33938829 0 -0.11259535 1.0027701 1.0027701 + 29400 0.32401178 0 -0.11664978 1.0083102 1.0083102 + 29500 0.32320492 0 -0.11336533 1.0027701 1.0027701 + 29600 0.32928877 0 -0.10404547 1.0027701 1.0027701 + 29700 0.3436911 0 -0.089845529 1.0027701 1.0027701 + 29800 0.34194019 0 -0.081660797 1.0027701 1.0027701 + 29900 0.32909826 0 -0.07807778 1.0027701 1.0083102 + 30000 0.34092826 0 -0.06626489 1.0027701 1.0027701 + 30100 0.34763086 0 -0.055589635 1.0027701 1.0027701 + 30200 0.34479984 0 -0.047402672 1.0083102 1.0083102 + 30300 0.34783224 0 -0.036371931 1.0083102 1.0027701 + 30400 0.34525176 0 -0.027246663 1.0027701 1.0027701 + 30500 0.35266364 0 -0.016275033 1.0027701 1.0027701 + 30600 0.35792479 0 -0.007158119 1.0083102 1.0083102 + 30700 0.33607567 0 -0.0064391529 1.0027701 1.0027701 + 30800 0.34311607 0 0.005382948 1.0083102 1.0027701 + 30900 0.37218574 0 0.025004945 1.0027701 1.0027701 + 31000 0.35196541 0 0.027902483 1.0027701 1.0027701 + 31100 0.33533693 0 0.032349025 1.0083102 1.0083102 + 31200 0.34382193 0 0.046631454 1.0083102 1.0027701 + 31300 0.32886237 0 0.05405956 1.0027701 1.0027701 + 31400 0.32738754 0 0.066295734 1.0027701 1.0027701 + 31500 0.35367575 0 0.087140904 1.0027701 1.0027701 + 31600 0.33756811 0 0.092135887 1.0027701 1.0027701 + 31700 0.31701631 0 0.094576339 1.0027701 1.0027701 + 31800 0.34217612 0 0.11195071 1.0027701 1.0027701 + 31900 0.33725187 0 0.11924087 1.0027701 1.0083102 + 32000 0.30966055 0 0.1199329 1.0027701 1.0027701 + 32100 0.32771084 0 0.13627552 1.0027701 1.0027701 + 32200 0.3400914 0 0.14816015 1.0027701 1.0027701 + 32300 0.32210513 0 0.14569378 1.0027701 1.0027701 + 32400 0.32096229 0 0.14515284 1.0027701 1.0083102 + 32500 0.31781969 0 0.14124479 1.0083102 1.0083102 + 32600 0.3146986 0 0.13616644 1.0083102 1.0083102 + 32700 0.33526021 0 0.13913538 1.0027701 1.0027701 + 32800 0.33561156 0 0.13481353 1.0027701 1.0027701 + 32900 0.31418235 0 0.12161202 1.0027701 1.0027701 + 33000 0.31952054 0 0.11558871 1.0083102 1.0083102 + 33100 0.33437451 0 0.11011602 1.0083102 1.0083102 + 33200 0.33381704 0 0.096535424 1.0027701 1.0027701 + 33300 0.33786259 0 0.08382113 1.0027701 1.0027701 + 33400 0.34590937 0 0.073879824 1.0027701 1.0027701 + 33500 0.33844204 0 0.060854835 1.0083102 1.0083102 + 33600 0.33845544 0 0.052237152 1.0027701 1.0027701 + 33700 0.35419837 0 0.048922784 1.0027701 1.0027701 + 33800 0.3485977 0 0.036886422 1.0027701 1.0083102 + 33900 0.33816081 0 0.021599335 1.0083102 1.0083102 + 34000 0.34241389 0 0.010436074 1.0083102 1.0027701 + 34100 0.33934235 0 -0.002581075 1.0027701 1.0083102 + 34200 0.34579204 0 -0.011373729 1.0027701 1.0027701 + 34300 0.35778336 0 -0.018118327 1.0083102 1.0083102 + 34400 0.35522938 0 -0.030427967 1.0027701 1.0027701 + 34500 0.34820709 0 -0.042562699 1.0027701 1.0027701 + 34600 0.35026547 0 -0.047488326 1.0027701 1.0027701 + 34700 0.35221351 0 -0.050832178 1.0027701 1.0027701 + 34800 0.33043515 0 -0.062718859 1.0027701 1.0027701 + 34900 0.32750488 0 -0.068765033 1.0027701 1.0027701 + 35000 0.35323787 0 -0.067326627 1.0027701 1.0027701 + 35100 0.34732304 0 -0.080326407 1.0083102 1.0027701 + 35200 0.3248439 0 -0.099312427 1.0027701 1.0027701 + 35300 0.32854244 0 -0.10509437 1.0027701 1.0027701 + 35400 0.33511384 0 -0.10605662 1.0027701 1.0027701 + 35500 0.33532722 0 -0.10993967 1.0027701 1.0027701 + 35600 0.33523312 0 -0.11653983 1.0027701 1.0083102 + 35700 0.32405906 0 -0.12564005 1.0083102 1.0083102 + 35800 0.32914902 0 -0.12476137 1.0083102 1.0027701 + 35900 0.34093492 0 -0.11716996 1.0027701 1.0027701 + 36000 0.33557882 0 -0.11216382 1.0027701 1.0027701 + 36100 0.3342841 0 -0.10445781 1.0027701 1.0027701 + 36200 0.33557348 0 -0.0983036 1.0027701 1.0027701 + 36300 0.33052024 0 -0.097594107 1.0027701 1.0027701 + 36400 0.34570912 0 -0.089010349 1.0083102 1.0083102 + 36500 0.35735704 0 -0.078483059 1.0083102 1.0027701 + 36600 0.33199022 0 -0.079452064 1.0083102 1.0083102 + 36700 0.3191692 0 -0.074378584 1.0083102 1.0027701 + 36800 0.34473865 0 -0.052467819 1.0027701 1.0027701 + 36900 0.35012922 0 -0.034841373 1.0027701 1.0027701 + 37000 0.34543508 0 -0.019956141 1.0083102 1.0083102 + 37100 0.36637971 0 0.0034123108 1.0027701 1.0027701 + 37200 0.36008557 0 0.016667331 1.0083102 1.0083102 + 37300 0.34027931 0 0.024177377 1.0083102 1.0027701 + 37400 0.35097853 0 0.041160628 1.0027701 1.0027701 + 37500 0.35024671 0 0.052433671 1.0027701 1.0027701 + 37600 0.33483801 0 0.05655083 1.0027701 1.0027701 + 37700 0.3402098 0 0.067222448 1.0083102 1.0083102 + 37800 0.33859985 0 0.075720813 1.0083102 1.0083102 + 37900 0.32323549 0 0.079678841 1.0083102 1.0027701 + 38000 0.33701532 0 0.092666162 1.0027701 1.0027701 + 38100 0.3424632 0 0.10094611 1.0027701 1.0027701 + 38200 0.32167421 0 0.099350179 1.0027701 1.0083102 + 38300 0.32540911 0 0.10664752 1.0027701 1.0027701 + 38400 0.33574781 0 0.11614552 1.0027701 1.0027701 + 38500 0.33125908 0 0.11940265 1.0027701 1.0027701 + 38600 0.33885801 0 0.12616083 1.0027701 1.0027701 + 38700 0.33813506 0 0.1298943 1.0027701 1.0027701 + 38800 0.31888318 0 0.1260135 1.0027701 1.0027701 + 38900 0.31006429 0 0.12450345 1.0027701 1.0027701 + 39000 0.31407783 0 0.12693078 1.0083102 1.0083102 + 39100 0.33078021 0 0.13111094 1.0027701 1.0083102 + 39200 0.34311375 0 0.12937945 1.0027701 1.0083102 + 39300 0.33594172 0 0.11839992 1.0027701 1.0027701 + 39400 0.32763204 0 0.10898509 1.0083102 1.0083102 + 39500 0.33114946 0 0.10782558 1.0083102 1.0027701 + 39600 0.32905328 0 0.10631627 1.0027701 1.0027701 + 39700 0.32416114 0 0.10142386 1.0083102 1.0027701 + 39800 0.32709132 0 0.096046083 1.0027701 1.0027701 + 39900 0.32910896 0 0.087876394 1.0027701 1.0027701 + 40000 0.33462908 0 0.07810396 1.0027701 1.0027701 +Loop time of 0.503795 on 2 procs for 40000 steps with 361 atoms + +Performance: 6859934.469 tau/day, 79397.390 timesteps/s, 28.662 Matom-step/s +95.1% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.016365 | 0.01652 | 0.016675 | 0.1 | 3.28 +Bond | 0.15864 | 0.16196 | 0.16529 | 0.8 | 32.15 +Neigh | 0.05169 | 0.051701 | 0.051711 | 0.0 | 10.26 +Comm | 0.076385 | 0.091917 | 0.10745 | 5.1 | 18.24 +Output | 0.0032235 | 0.0038308 | 0.004438 | 1.0 | 0.76 +Modify | 0.11757 | 0.11844 | 0.1193 | 0.3 | 23.51 +Other | | 0.05943 | | | 11.80 + +Nlocal: 180.5 ave 181 max 180 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 53.5 ave 54 max 53 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 31.024931 +Neighbor list builds = 800 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/balance/log.3Nov23.balance.bond.slow.g++.4 b/examples/balance/log.3Nov23.balance.bond.slow.g++.4 new file mode 100644 index 0000000000..b493474ace --- /dev/null +++ b/examples/balance/log.3Nov23.balance.bond.slow.g++.4 @@ -0,0 +1,550 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 2d circle of particles inside a box with LJ walls + +variable b index 0 + +variable x index 50 +variable y index 20 +variable d index 20 + +# careful not to slam into wall too hard + +variable v index 0.3 +variable w index 0.08 + +units lj +dimension 2 +atom_style bond +boundary f f p + +lattice hex 0.85 +Lattice spacing in x,y,z = 1.1655347 2.0187654 1.1655347 +region box block 0 $x 0 $y -0.5 0.5 +region box block 0 50 0 $y -0.5 0.5 +region box block 0 50 0 20 -0.5 0.5 +create_box 1 box bond/types 1 extra/bond/per/atom 6 +Created orthogonal box = (0 0 -0.58276737) to (58.276737 40.375308 0.58276737) + 2 by 2 by 1 MPI processor grid +region circle sphere $(v_d/2+1) $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) +region circle sphere 11 $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) +region circle sphere 11 6.7735026918962581988 0.0 $(v_d/2) +region circle sphere 11 6.7735026918962581988 0.0 10 +create_atoms 1 region circle +Created 361 atoms + using lattice units in orthogonal box = (0 0 -0.58276737) to (58.276737 40.375308 0.58276737) + create_atoms CPU = 0.001 seconds +mass 1 1.0 + +velocity all create 0.5 87287 loop geom +velocity all set $v $w 0 sum yes +velocity all set 0.3 $w 0 sum yes +velocity all set 0.3 0.08 0 sum yes + +pair_style lj/cut 2.5 +pair_coeff 1 1 10.0 1.0 2.5 + +bond_style harmonic +bond_coeff 1 10.0 1.2 + +create_bonds many all all 1 1.0 1.5 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +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 = 42 29 1 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) command create_bonds, occasional + attributes: full, newton on + pair build: full/bin + stencil: full/bin/2d + bin: standard + (2) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Added 1014 bonds, new total = 1014 +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 6 = max # of 1-2 neighbors + 30 = max # of 1-3 neighbors + 180 = max # of 1-4 neighbors + 36 = max # of special neighbors + special bonds CPU = 0.001 seconds + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi $x 1 1 2.5 +fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi 50 1 1 2.5 +fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi $y 1 1 2.5 +fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi 20 1 1 2.5 + +comm_style tiled +fix 10 all balance 50 0.9 rcb + +#compute 1 all property/atom proc +#variable p atom (c_1%10)+1 +#dump 2 all custom 50 tmp.dump id v_p x y z + +#dump 3 all image 200 image.*.jpg v_p type bond atom 0.25 # adiam 1.0 view 0 0 zoom 1.8 subbox yes 0.02 +#variable colors string # "red green blue yellow white # purple pink orange lime gray" +#dump_modify 3 pad 5 amap 0 10 sa 1 10 ${colors} + +thermo_style custom step temp epair press f_10[3] f_10 +thermo 100 +timestep 0.001 + +run 40000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +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 = 42 29 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.02 | 7.05 | 7.102 Mbytes + Step Temp E_pair Press f_10[3] f_10 + 0 0.57437856 0 0.26099453 3.2354571 1.0526316 + 100 0.36302846 0 0.17339851 1.0083102 1.0193906 + 200 0.19645077 0 0.087800915 1.0083102 1.0083102 + 300 0.32061117 0 0.11295723 1.0193906 1.0193906 + 400 0.32854136 0 0.11325585 1.0083102 1.0083102 + 500 0.29754179 0 0.10150632 1.0193906 1.0083102 + 600 0.37384867 0 0.11949784 1.0083102 1.0083102 + 700 0.33202319 0 0.092871339 1.0083102 1.0193906 + 800 0.28340637 0 0.065861565 1.0083102 1.0083102 + 900 0.36250157 0 0.085896287 1.0193906 1.0083102 + 1000 0.35402718 0 0.07519914 1.0083102 1.0193906 + 1100 0.31576357 0 0.050253636 1.0193906 1.0083102 + 1200 0.35727572 0 0.05153538 1.0083102 1.0083102 + 1300 0.34322607 0 0.036115722 1.0083102 1.0083102 + 1400 0.34007557 0 0.025378602 1.0083102 1.0193906 + 1500 0.39242551 0 0.033002212 1.0083102 1.0193906 + 1600 0.35679049 0 0.010101576 1.0083102 1.0193906 + 1700 0.31293001 0 -0.013791036 1.0193906 1.0193906 + 1800 0.34767962 0 -0.0065490806 1.0193906 1.0193906 + 1900 0.34721592 0 -0.010055082 1.0193906 1.0083102 + 2000 0.34074949 0 -0.020822697 1.0083102 1.0083102 + 2100 0.37195615 0 -0.024943134 1.0193906 1.0083102 + 2200 0.35367164 0 -0.047369336 1.0193906 1.0083102 + 2300 0.32088735 0 -0.069724381 1.0083102 1.0083102 + 2400 0.34291945 0 -0.065470223 1.0193906 1.0083102 + 2500 0.35204641 0 -0.062631879 1.0083102 1.0083102 + 2600 0.32762755 0 -0.075128824 1.0083102 1.0083102 + 2700 0.32042617 0 -0.086259498 1.0193906 1.0083102 + 2800 0.32747171 0 -0.094775765 1.0083102 1.0083102 + 2900 0.33544664 0 -0.10376048 1.0193906 1.0083102 + 3000 0.34015845 0 -0.1112134 1.0193906 1.0083102 + 3100 0.34425802 0 -0.11413914 1.0083102 1.0193906 + 3200 0.34158654 0 -0.1164643 1.0083102 1.0083102 + 3300 0.32525955 0 -0.12206636 1.0083102 1.0193906 + 3400 0.32183965 0 -0.12186353 1.0193906 1.0083102 + 3500 0.3323435 0 -0.11597815 1.0083102 1.0083102 + 3600 0.34124638 0 -0.11177335 1.0193906 1.0193906 + 3700 0.3404339 0 -0.11235575 1.0083102 1.0193906 + 3800 0.32736123 0 -0.11610108 1.0083102 1.0193906 + 3900 0.32897993 0 -0.11138151 1.0193906 1.0083102 + 4000 0.35111095 0 -0.096171644 1.0193906 1.0193906 + 4100 0.34682622 0 -0.087507472 1.0193906 1.0193906 + 4200 0.3307829 0 -0.079759555 1.0193906 1.0083102 + 4300 0.35057085 0 -0.055194355 1.0193906 1.0083102 + 4400 0.36389071 0 -0.02963313 1.0193906 1.0193906 + 4500 0.35694456 0 -0.013842583 1.0193906 1.0193906 + 4600 0.3472078 0 -0.0048118723 1.0083102 1.0083102 + 4700 0.31734514 0 -0.0032417081 1.0083102 1.0083102 + 4800 0.32419237 0 0.01409306 1.0083102 1.0193906 + 4900 0.36939799 0 0.045351789 1.0193906 1.0193906 + 5000 0.36998276 0 0.056830437 1.0083102 1.0083102 + 5100 0.33969031 0 0.051833536 1.0083102 1.0083102 + 5200 0.33910288 0 0.055544085 1.0083102 1.0083102 + 5300 0.34641009 0 0.0651487 1.0083102 1.0083102 + 5400 0.34469325 0 0.074538093 1.0083102 1.0083102 + 5500 0.34582041 0 0.084940845 1.0193906 1.0083102 + 5600 0.33471774 0 0.090102411 1.0083102 1.0193906 + 5700 0.32667873 0 0.09528948 1.0083102 1.0193906 + 5800 0.33762496 0 0.10545364 1.0083102 1.0083102 + 5900 0.33285742 0 0.10816506 1.0083102 1.0083102 + 6000 0.31920877 0 0.10547467 1.0083102 1.0193906 + 6100 0.31933081 0 0.10610684 1.0083102 1.0193906 + 6200 0.3152523 0 0.10651599 1.0193906 1.0083102 + 6300 0.32548074 0 0.11405234 1.0083102 1.0193906 + 6400 0.33851595 0 0.12389967 1.0193906 1.0193906 + 6500 0.32957825 0 0.12493331 1.0083102 1.0083102 + 6600 0.32319786 0 0.12404318 1.0083102 1.0083102 + 6700 0.3223738 0 0.12418108 1.0304709 1.0304709 + 6800 0.32390959 0 0.12576314 1.0193906 1.0083102 + 6900 0.34414413 0 0.1318456 1.0193906 1.0193906 + 7000 0.34508922 0 0.12669741 1.0083102 1.0083102 + 7100 0.31655025 0 0.10869109 1.0083102 1.0193906 + 7200 0.31997193 0 0.10305508 1.0083102 1.0193906 + 7300 0.33199085 0 0.10377052 1.0083102 1.0083102 + 7400 0.32146221 0 0.097589803 1.0193906 1.0193906 + 7500 0.33416843 0 0.096202638 1.0083102 1.0193906 + 7600 0.35297124 0 0.092441999 1.0193906 1.0083102 + 7700 0.34494663 0 0.075206332 1.0083102 1.0193906 + 7800 0.34010702 0 0.056336074 1.0193906 1.0083102 + 7900 0.343424 0 0.040946914 1.0193906 1.0193906 + 8000 0.33772245 0 0.025817271 1.0083102 1.0083102 + 8100 0.34463909 0 0.017237548 1.0193906 1.0304709 + 8200 0.36052034 0 0.010393623 1.0083102 1.0083102 + 8300 0.36083091 0 -0.0053933186 1.0083102 1.0083102 + 8400 0.35378067 0 -0.02600248 1.0083102 1.0083102 + 8500 0.35133887 0 -0.044211483 1.0083102 1.0083102 + 8600 0.34559937 0 -0.060861345 1.0083102 1.0083102 + 8700 0.33724119 0 -0.075776058 1.0083102 1.0193906 + 8800 0.33337192 0 -0.087098937 1.0193906 1.0193906 + 8900 0.33533081 0 -0.094631485 1.0193906 1.0304709 + 9000 0.34994303 0 -0.096758052 1.0193906 1.0083102 + 9100 0.34448227 0 -0.10330192 1.0193906 1.0193906 + 9200 0.32675792 0 -0.11000278 1.0193906 1.0193906 + 9300 0.33814013 0 -0.10358181 1.0083102 1.0193906 + 9400 0.34457419 0 -0.096896951 1.0083102 1.0083102 + 9500 0.33834959 0 -0.09547729 1.0083102 1.0083102 + 9600 0.33204582 0 -0.097694622 1.0193906 1.0083102 + 9700 0.31152805 0 -0.10637377 1.0193906 1.0083102 + 9800 0.31637311 0 -0.1053323 1.0083102 1.0083102 + 9900 0.33416162 0 -0.097857158 1.0083102 1.0083102 + 10000 0.33731767 0 -0.094656227 1.0083102 1.0083102 + 10100 0.34565093 0 -0.090199556 1.0193906 1.0193906 + 10200 0.34549074 0 -0.088914471 1.0193906 1.0083102 + 10300 0.33545625 0 -0.09066219 1.0083102 1.0083102 + 10400 0.33649703 0 -0.086437886 1.0083102 1.0083102 + 10500 0.34549848 0 -0.0767365 1.0193906 1.0193906 + 10600 0.34222917 0 -0.069368792 1.0083102 1.0083102 + 10700 0.34262469 0 -0.060550996 1.0193906 1.0083102 + 10800 0.34859129 0 -0.050692625 1.0193906 1.0193906 + 10900 0.34850448 0 -0.043627505 1.0193906 1.0193906 + 11000 0.34887257 0 -0.036859125 1.0193906 1.0193906 + 11100 0.34171718 0 -0.032690742 1.0193906 1.0083102 + 11200 0.329808 0 -0.02793377 1.0083102 1.0083102 + 11300 0.34490203 0 -0.010278222 1.0083102 1.0083102 + 11400 0.36226391 0 0.010141624 1.0193906 1.0193906 + 11500 0.35392138 0 0.021188939 1.0193906 1.0193906 + 11600 0.34378732 0 0.031423313 1.0304709 1.0193906 + 11700 0.33606385 0 0.043944374 1.0193906 1.0193906 + 11800 0.33212482 0 0.058629338 1.0193906 1.0193906 + 11900 0.34547313 0 0.078112959 1.0193906 1.0083102 + 12000 0.34840957 0 0.092356502 1.0083102 1.0083102 + 12100 0.34146853 0 0.10236492 1.0193906 1.0193906 + 12200 0.34591494 0 0.11620659 1.0193906 1.0083102 + 12300 0.33290894 0 0.12437245 1.0083102 1.0193906 + 12400 0.32423652 0 0.13191976 1.0193906 1.0193906 + 12500 0.33031748 0 0.13999363 1.0193906 1.0193906 + 12600 0.31927087 0 0.13776242 1.0083102 1.0193906 + 12700 0.30865965 0 0.13340787 1.0193906 1.0083102 + 12800 0.32542691 0 0.13690449 1.0083102 1.0083102 + 12900 0.32453244 0 0.13376127 1.0083102 1.0083102 + 13000 0.30974678 0 0.12749869 1.0083102 1.0083102 + 13100 0.32402285 0 0.13240572 1.0083102 1.0193906 + 13200 0.32896987 0 0.13257567 1.0193906 1.0083102 + 13300 0.32939197 0 0.12690791 1.0083102 1.0083102 + 13400 0.33966453 0 0.12036916 1.0083102 1.0083102 + 13500 0.33012942 0 0.10496127 1.0083102 1.0304709 + 13600 0.32363377 0 0.091763332 1.0304709 1.0304709 + 13700 0.33427955 0 0.087928243 1.0193906 1.0193906 + 13800 0.33457885 0 0.08191828 1.0083102 1.0083102 + 13900 0.33819924 0 0.074487337 1.0193906 1.0083102 + 14000 0.34611002 0 0.066256529 1.0083102 1.0083102 + 14100 0.33224254 0 0.052608223 1.0083102 1.0083102 + 14200 0.33796934 0 0.049677792 1.0083102 1.0083102 + 14300 0.36216731 0 0.055173039 1.0083102 1.0083102 + 14400 0.35140789 0 0.047322221 1.0193906 1.0193906 + 14500 0.34425046 0 0.036527245 1.0193906 1.0193906 + 14600 0.3604575 0 0.0294772 1.0083102 1.0083102 + 14700 0.3433878 0 0.0096774422 1.0083102 1.0083102 + 14800 0.3287069 0 -0.0079768782 1.0083102 1.0083102 + 14900 0.34978607 0 -0.01178453 1.0083102 1.0083102 + 15000 0.34749548 0 -0.023685074 1.0193906 1.0193906 + 15100 0.33474304 0 -0.040569945 1.0083102 1.0083102 + 15200 0.35036594 0 -0.048341599 1.0083102 1.0083102 + 15300 0.35686042 0 -0.058664905 1.0193906 1.0083102 + 15400 0.34041567 0 -0.074858327 1.0083102 1.0083102 + 15500 0.33397773 0 -0.083782088 1.0083102 1.0083102 + 15600 0.3420119 0 -0.084635487 1.0193906 1.0083102 + 15700 0.345487 0 -0.088137628 1.0193906 1.0083102 + 15800 0.33494392 0 -0.10083064 1.0083102 1.0083102 + 15900 0.32675175 0 -0.11620387 1.0083102 1.0083102 + 16000 0.33011636 0 -0.12713401 1.0083102 1.0304709 + 16100 0.32443118 0 -0.13685913 1.0193906 1.0193906 + 16200 0.31608392 0 -0.14164152 1.0193906 1.0193906 + 16300 0.33293965 0 -0.13335387 1.0083102 1.0083102 + 16400 0.34462807 0 -0.12471686 1.0083102 1.0083102 + 16500 0.33528082 0 -0.12211554 1.0083102 1.0083102 + 16600 0.34250121 0 -0.11228169 1.0083102 1.0083102 + 16700 0.35342336 0 -0.099226948 1.0083102 1.0083102 + 16800 0.33730938 0 -0.093581966 1.0083102 1.0193906 + 16900 0.3275761 0 -0.085163356 1.0083102 1.0083102 + 17000 0.33624873 0 -0.070896594 1.0193906 1.0083102 + 17100 0.34339177 0 -0.057731935 1.0083102 1.0083102 + 17200 0.34874414 0 -0.046575228 1.0083102 1.0083102 + 17300 0.33950911 0 -0.041862179 1.0083102 1.0083102 + 17400 0.33100286 0 -0.036618199 1.0193906 1.0083102 + 17500 0.34238095 0 -0.021681436 1.0193906 1.0083102 + 17600 0.35476614 0 -0.0032568304 1.0083102 1.0083102 + 17700 0.35452053 0 0.011863966 1.0083102 1.0304709 + 17800 0.35423934 0 0.024753043 1.0193906 1.0193906 + 17900 0.35001044 0 0.031647802 1.0193906 1.0193906 + 18000 0.32867773 0 0.030261102 1.0083102 1.0083102 + 18100 0.32730114 0 0.037627319 1.0083102 1.0083102 + 18200 0.35786038 0 0.057653258 1.0083102 1.0083102 + 18300 0.35598175 0 0.065533711 1.0083102 1.0304709 + 18400 0.33913202 0 0.066186406 1.0083102 1.0083102 + 18500 0.34449656 0 0.074575322 1.0083102 1.0193906 + 18600 0.34792041 0 0.083818651 1.0304709 1.0193906 + 18700 0.33910599 0 0.089751723 1.0193906 1.0193906 + 18800 0.33627789 0 0.097491916 1.0304709 1.0083102 + 18900 0.32937699 0 0.10350872 1.0193906 1.0083102 + 19000 0.30908702 0 0.10610099 1.0083102 1.0083102 + 19100 0.31033435 0 0.1168178 1.0083102 1.0083102 + 19200 0.32011336 0 0.12898885 1.0083102 1.0083102 + 19300 0.31851339 0 0.13398981 1.0083102 1.0083102 + 19400 0.33289985 0 0.1401039 1.0083102 1.0083102 + 19500 0.3387096 0 0.13971063 1.0083102 1.0083102 + 19600 0.31475734 0 0.12963499 1.0083102 1.0193906 + 19700 0.31971554 0 0.13189606 1.0083102 1.0193906 + 19800 0.33096999 0 0.13636987 1.0193906 1.0083102 + 19900 0.31601688 0 0.12889803 1.0083102 1.0083102 + 20000 0.32916469 0 0.12683491 1.0083102 1.0304709 + 20100 0.34355734 0 0.12251501 1.0083102 1.0083102 + 20200 0.33029721 0 0.10833335 1.0193906 1.0083102 + 20300 0.34079176 0 0.10305862 1.0083102 1.0083102 + 20400 0.35196716 0 0.098386494 1.0083102 1.0083102 + 20500 0.32687648 0 0.081202778 1.0193906 1.0193906 + 20600 0.33371658 0 0.074287923 1.0083102 1.0193906 + 20700 0.36625228 0 0.073768436 1.0083102 1.0083102 + 20800 0.35824217 0 0.054876358 1.0193906 1.0193906 + 20900 0.34861601 0 0.031603534 1.0083102 1.0083102 + 21000 0.35396698 0 0.013464537 1.0083102 1.0083102 + 21100 0.33592449 0 -0.0096173026 1.0083102 1.0083102 + 21200 0.327063 0 -0.025970252 1.0083102 1.0083102 + 21300 0.34418745 0 -0.030446162 1.0083102 1.0083102 + 21400 0.34181459 0 -0.039942616 1.0083102 1.0083102 + 21500 0.3315724 0 -0.05089285 1.0083102 1.0083102 + 21600 0.35674681 0 -0.047926263 1.0083102 1.0083102 + 21700 0.37320044 0 -0.047190592 1.0083102 1.0083102 + 21800 0.34626293 0 -0.063211549 1.0193906 1.0083102 + 21900 0.32941853 0 -0.078034339 1.0083102 1.0083102 + 22000 0.34102577 0 -0.083179211 1.0083102 1.0083102 + 22100 0.33614888 0 -0.091647522 1.0083102 1.0083102 + 22200 0.3339762 0 -0.09744915 1.0083102 1.0083102 + 22300 0.33867021 0 -0.10026932 1.0083102 1.0083102 + 22400 0.31974078 0 -0.10896583 1.0083102 1.0193906 + 22500 0.3261442 0 -0.10644809 1.0193906 1.0083102 + 22600 0.35128159 0 -0.097711062 1.0083102 1.0083102 + 22700 0.33133845 0 -0.10656571 1.0083102 1.0083102 + 22800 0.31730555 0 -0.11420891 1.0193906 1.0083102 + 22900 0.34720941 0 -0.10586647 1.0083102 1.0083102 + 23000 0.34418922 0 -0.10745826 1.0083102 1.0083102 + 23100 0.32342851 0 -0.11384766 1.0083102 1.0083102 + 23200 0.3408144 0 -0.10631064 1.0083102 1.0083102 + 23300 0.33006722 0 -0.1070084 1.0083102 1.0083102 + 23400 0.31578528 0 -0.10711608 1.0193906 1.0193906 + 23500 0.34908788 0 -0.088441889 1.0193906 1.0083102 + 23600 0.35801835 0 -0.075953983 1.0083102 1.0083102 + 23700 0.33573037 0 -0.072357745 1.0083102 1.0193906 + 23800 0.34435835 0 -0.055470682 1.0193906 1.0083102 + 23900 0.35307683 0 -0.036076205 1.0193906 1.0193906 + 24000 0.35184599 0 -0.020939815 1.0083102 1.0083102 + 24100 0.35687079 0 -0.0063601457 1.0083102 1.0083102 + 24200 0.33612385 0 -0.0014613923 1.0083102 1.0083102 + 24300 0.32234106 0 0.006750452 1.0083102 1.0083102 + 24400 0.34852008 0 0.029170079 1.0083102 1.0083102 + 24500 0.35224811 0 0.043783151 1.0083102 1.0083102 + 24600 0.34160459 0 0.05294313 1.0083102 1.0083102 + 24700 0.35616752 0 0.069291509 1.0083102 1.0083102 + 24800 0.34984726 0 0.076650029 1.0193906 1.0193906 + 24900 0.33337969 0 0.080083735 1.0193906 1.0083102 + 25000 0.34846751 0 0.095559187 1.0083102 1.0083102 + 25100 0.34495541 0 0.10558042 1.0193906 1.0083102 + 25200 0.32630088 0 0.10897783 1.0193906 1.0083102 + 25300 0.33651146 0 0.11888202 1.0083102 1.0083102 + 25400 0.32194445 0 0.11826793 1.0083102 1.0083102 + 25500 0.30295352 0 0.11641357 1.0083102 1.0083102 + 25600 0.33485387 0 0.13204258 1.0083102 1.0083102 + 25700 0.34407287 0 0.13738986 1.0083102 1.0083102 + 25800 0.32421817 0 0.12822703 1.0083102 1.0083102 + 25900 0.32463356 0 0.12403448 1.0193906 1.0193906 + 26000 0.32431468 0 0.12087994 1.0193906 1.0083102 + 26100 0.31886825 0 0.11741621 1.0193906 1.0083102 + 26200 0.32607823 0 0.1180517 1.0083102 1.0083102 + 26300 0.32511255 0 0.11479741 1.0304709 1.0193906 + 26400 0.32336124 0 0.11055002 1.0083102 1.0083102 + 26500 0.33026321 0 0.10934888 1.0083102 1.0083102 + 26600 0.32604491 0 0.10480442 1.0083102 1.0193906 + 26700 0.33764955 0 0.10458959 1.0083102 1.0083102 + 26800 0.35202544 0 0.10295075 1.0193906 1.0193906 + 26900 0.33382028 0 0.088148483 1.0193906 1.0193906 + 27000 0.33252808 0 0.078275659 1.0193906 1.0193906 + 27100 0.35433636 0 0.076729989 1.0304709 1.0193906 + 27200 0.34824881 0 0.065720375 1.0193906 1.0083102 + 27300 0.33525644 0 0.051611147 1.0083102 1.0193906 + 27400 0.34685762 0 0.045597284 1.0193906 1.0083102 + 27500 0.35181712 0 0.037076034 1.0083102 1.0083102 + 27600 0.34541685 0 0.022287411 1.0083102 1.0083102 + 27700 0.34559823 0 0.0056480168 1.0083102 1.0304709 + 27800 0.33646375 0 -0.015571541 1.0193906 1.0193906 + 27900 0.33681932 0 -0.031777883 1.0193906 1.0193906 + 28000 0.35093514 0 -0.041519343 1.0083102 1.0083102 + 28100 0.34345697 0 -0.057623438 1.0083102 1.0083102 + 28200 0.33655073 0 -0.072228985 1.0083102 1.0083102 + 28300 0.34428448 0 -0.080015243 1.0083102 1.0193906 + 28400 0.34089922 0 -0.089955339 1.0193906 1.0193906 + 28500 0.34522966 0 -0.096529413 1.0304709 1.0083102 + 28600 0.34713819 0 -0.10221712 1.0304709 1.0304709 + 28700 0.33692049 0 -0.10868625 1.0193906 1.0083102 + 28800 0.34522852 0 -0.10679446 1.0083102 1.0193906 + 28900 0.33956477 0 -0.1105454 1.0304709 1.0083102 + 29000 0.30989301 0 -0.12332622 1.0193906 1.0193906 + 29100 0.32373738 0 -0.11985261 1.0083102 1.0083102 + 29200 0.35156812 0 -0.10956099 1.0083102 1.0193906 + 29300 0.33938829 0 -0.11259535 1.0083102 1.0193906 + 29400 0.32401178 0 -0.11664978 1.0193906 1.0193906 + 29500 0.32320492 0 -0.11336533 1.0193906 1.0193906 + 29600 0.32928877 0 -0.10404547 1.0193906 1.0193906 + 29700 0.3436911 0 -0.089845529 1.0193906 1.0193906 + 29800 0.34194019 0 -0.081660797 1.0193906 1.0193906 + 29900 0.32909826 0 -0.07807778 1.0083102 1.0083102 + 30000 0.34092826 0 -0.06626489 1.0083102 1.0083102 + 30100 0.34763086 0 -0.055589635 1.0083102 1.0083102 + 30200 0.34479984 0 -0.047402672 1.0193906 1.0193906 + 30300 0.34783224 0 -0.036371931 1.0083102 1.0083102 + 30400 0.34525176 0 -0.027246663 1.0193906 1.0083102 + 30500 0.35266364 0 -0.016275033 1.0083102 1.0193906 + 30600 0.35792479 0 -0.007158119 1.0193906 1.0193906 + 30700 0.33607567 0 -0.0064391529 1.0083102 1.0083102 + 30800 0.34311607 0 0.005382948 1.0304709 1.0083102 + 30900 0.37218574 0 0.025004945 1.0083102 1.0083102 + 31000 0.35196541 0 0.027902483 1.0083102 1.0083102 + 31100 0.33533693 0 0.032349025 1.0083102 1.0083102 + 31200 0.34382193 0 0.046631454 1.0193906 1.0083102 + 31300 0.32886237 0 0.05405956 1.0083102 1.0083102 + 31400 0.32738754 0 0.066295734 1.0083102 1.0083102 + 31500 0.35367575 0 0.087140904 1.0083102 1.0083102 + 31600 0.33756811 0 0.092135887 1.0083102 1.0083102 + 31700 0.31701631 0 0.094576339 1.0083102 1.0083102 + 31800 0.34217612 0 0.11195071 1.0083102 1.0083102 + 31900 0.33725187 0 0.11924087 1.0193906 1.0083102 + 32000 0.30966055 0 0.1199329 1.0193906 1.0083102 + 32100 0.32771084 0 0.13627552 1.0083102 1.0083102 + 32200 0.3400914 0 0.14816015 1.0083102 1.0193906 + 32300 0.32210513 0 0.14569378 1.0193906 1.0083102 + 32400 0.32096229 0 0.14515284 1.0083102 1.0193906 + 32500 0.31781969 0 0.14124479 1.0193906 1.0193906 + 32600 0.3146986 0 0.13616644 1.0193906 1.0193906 + 32700 0.33526021 0 0.13913538 1.0083102 1.0083102 + 32800 0.33561156 0 0.13481353 1.0083102 1.0083102 + 32900 0.31418235 0 0.12161202 1.0193906 1.0193906 + 33000 0.31952054 0 0.11558871 1.0304709 1.0083102 + 33100 0.33437451 0 0.11011602 1.0193906 1.0193906 + 33200 0.33381704 0 0.096535424 1.0193906 1.0304709 + 33300 0.33786259 0 0.08382113 1.0304709 1.0304709 + 33400 0.34590937 0 0.073879824 1.0083102 1.0083102 + 33500 0.33844204 0 0.060854835 1.0193906 1.0193906 + 33600 0.33845544 0 0.052237152 1.0083102 1.0193906 + 33700 0.35419837 0 0.048922784 1.0083102 1.0083102 + 33800 0.3485977 0 0.036886422 1.0083102 1.0083102 + 33900 0.33816081 0 0.021599335 1.0083102 1.0083102 + 34000 0.34241389 0 0.010436074 1.0083102 1.0083102 + 34100 0.33934235 0 -0.002581075 1.0193906 1.0083102 + 34200 0.34579204 0 -0.011373729 1.0083102 1.0193906 + 34300 0.35778336 0 -0.018118327 1.0193906 1.0193906 + 34400 0.35522938 0 -0.030427967 1.0083102 1.0193906 + 34500 0.34820709 0 -0.042562699 1.0083102 1.0083102 + 34600 0.35026547 0 -0.047488326 1.0083102 1.0083102 + 34700 0.35221351 0 -0.050832178 1.0083102 1.0083102 + 34800 0.33043515 0 -0.062718859 1.0083102 1.0083102 + 34900 0.32750488 0 -0.068765033 1.0083102 1.0083102 + 35000 0.35323787 0 -0.067326627 1.0083102 1.0083102 + 35100 0.34732304 0 -0.080326407 1.0193906 1.0083102 + 35200 0.3248439 0 -0.099312427 1.0083102 1.0083102 + 35300 0.32854244 0 -0.10509437 1.0083102 1.0083102 + 35400 0.33511384 0 -0.10605662 1.0083102 1.0083102 + 35500 0.33532722 0 -0.10993967 1.0083102 1.0083102 + 35600 0.33523312 0 -0.11653983 1.0083102 1.0193906 + 35700 0.32405906 0 -0.12564005 1.0193906 1.0193906 + 35800 0.32914902 0 -0.12476137 1.0193906 1.0083102 + 35900 0.34093492 0 -0.11716996 1.0083102 1.0083102 + 36000 0.33557882 0 -0.11216382 1.0083102 1.0083102 + 36100 0.3342841 0 -0.10445781 1.0193906 1.0193906 + 36200 0.33557348 0 -0.0983036 1.0193906 1.0083102 + 36300 0.33052024 0 -0.097594107 1.0304709 1.0083102 + 36400 0.34570912 0 -0.089010349 1.0083102 1.0193906 + 36500 0.35735704 0 -0.078483059 1.0193906 1.0193906 + 36600 0.33199022 0 -0.079452064 1.0193906 1.0083102 + 36700 0.3191692 0 -0.074378584 1.0083102 1.0083102 + 36800 0.34473865 0 -0.052467819 1.0083102 1.0083102 + 36900 0.35012922 0 -0.034841373 1.0193906 1.0083102 + 37000 0.34543508 0 -0.019956141 1.0083102 1.0083102 + 37100 0.36637971 0 0.0034123108 1.0083102 1.0083102 + 37200 0.36008557 0 0.016667331 1.0304709 1.0304709 + 37300 0.34027931 0 0.024177377 1.0304709 1.0083102 + 37400 0.35097853 0 0.041160628 1.0083102 1.0083102 + 37500 0.35024671 0 0.052433671 1.0083102 1.0083102 + 37600 0.33483801 0 0.05655083 1.0193906 1.0193906 + 37700 0.3402098 0 0.067222448 1.0193906 1.0193906 + 37800 0.33859985 0 0.075720813 1.0193906 1.0193906 + 37900 0.32323549 0 0.079678841 1.0193906 1.0083102 + 38000 0.33701532 0 0.092666162 1.0193906 1.0193906 + 38100 0.3424632 0 0.10094611 1.0083102 1.0193906 + 38200 0.32167421 0 0.099350179 1.0193906 1.0193906 + 38300 0.32540911 0 0.10664752 1.0083102 1.0193906 + 38400 0.33574781 0 0.11614552 1.0193906 1.0083102 + 38500 0.33125908 0 0.11940265 1.0193906 1.0083102 + 38600 0.33885801 0 0.12616083 1.0083102 1.0083102 + 38700 0.33813506 0 0.1298943 1.0083102 1.0193906 + 38800 0.31888318 0 0.1260135 1.0083102 1.0193906 + 38900 0.31006429 0 0.12450345 1.0193906 1.0083102 + 39000 0.31407783 0 0.12693078 1.0193906 1.0193906 + 39100 0.33078021 0 0.13111094 1.0304709 1.0193906 + 39200 0.34311375 0 0.12937945 1.0083102 1.0193906 + 39300 0.33594172 0 0.11839992 1.0083102 1.0083102 + 39400 0.32763204 0 0.10898509 1.0304709 1.0193906 + 39500 0.33114946 0 0.10782558 1.0083102 1.0083102 + 39600 0.32905328 0 0.10631627 1.0083102 1.0193906 + 39700 0.32416114 0 0.10142386 1.0193906 1.0083102 + 39800 0.32709132 0 0.096046083 1.0083102 1.0193906 + 39900 0.32910896 0 0.087876394 1.0083102 1.0083102 + 40000 0.33462908 0 0.07810396 1.0193906 1.0193906 +Loop time of 0.489746 on 4 procs for 40000 steps with 361 atoms + +Performance: 7056721.575 tau/day, 81675.018 timesteps/s, 29.485 Matom-step/s +91.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.007919 | 0.0093951 | 0.010867 | 1.2 | 1.92 +Bond | 0.070755 | 0.085453 | 0.096684 | 3.3 | 17.45 +Neigh | 0.030371 | 0.030384 | 0.030393 | 0.0 | 6.20 +Comm | 0.16386 | 0.17988 | 0.19412 | 2.6 | 36.73 +Output | 0.0037789 | 0.0040841 | 0.0048475 | 0.7 | 0.83 +Modify | 0.090035 | 0.098104 | 0.1037 | 1.8 | 20.03 +Other | | 0.08244 | | | 16.83 + +Nlocal: 90.25 ave 92 max 88 min +Histogram: 1 0 0 0 0 1 0 1 0 1 +Nghost: 60 ave 61 max 58 min +Histogram: 1 0 0 0 0 0 1 0 0 2 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 31.024931 +Neighbor list builds = 800 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/balance/log.3Nov23.balance.clock.dynamic.g++.2 b/examples/balance/log.3Nov23.balance.clock.dynamic.g++.2 new file mode 100644 index 0000000000..49d2b8deda --- /dev/null +++ b/examples/balance/log.3Nov23.balance.clock.dynamic.g++.2 @@ -0,0 +1,234 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +units lj +atom_style atomic +processors * 1 1 + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 3 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 2 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.001 seconds +mass * 1.0 + +region long block 3 6 0 10 0 10 +set region long type 2 +Setting atom values ... + 1400 settings made for type + +velocity all create 1.0 87287 + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 2.5 +pair_coeff * 2 1.0 1.0 5.0 + +neighbor 0.3 bin +neigh_modify every 2 delay 4 check yes +fix p all property/atom d_WEIGHT +compute p all property/atom d_WEIGHT +fix 0 all balance 50 1.0 shift x 10 1.0 weight time 1.0 weight store WEIGHT +variable maximb equal f_0[1] +variable iter equal f_0[2] +variable prev equal f_0[3] +variable final equal f_0 + +#fix 3 all print 50 "${iter} ${prev} ${final} ${maximb}" + +fix 1 all nve + +#dump id all atom 50 dump.melt +#dump id all custom 50 dump.lammpstrj id type x y z c_p + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +thermo 50 +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 2 steps, delay = 4 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.3 + ghost atom cutoff = 5.3 + binsize = 2.65, bins = 7 7 7 + 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 + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.559 | 4.75 | 4.941 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137 + 50 0.49578514 -6.1929216 0 -5.4494298 -1.6668039 4738.2137 + 100 0.53275389 -6.2475932 0 -5.4486622 -1.9063885 4738.2137 + 150 0.53316457 -6.2483202 0 -5.4487733 -1.9476162 4738.2137 + 200 0.536665 -6.2530113 0 -5.448215 -1.933468 4738.2137 + 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 4738.2137 + 300 0.55111476 -6.2727642 0 -5.4462987 -2.0384873 4738.2137 + 350 0.55211503 -6.274054 0 -5.4460885 -2.0116976 4738.2137 + 400 0.54638463 -6.2661715 0 -5.4467995 -1.992248 4738.2137 + 450 0.55885307 -6.2852263 0 -5.4471563 -2.0669747 4738.2137 + 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 4738.2137 +Loop time of 1.71386 on 2 procs for 500 steps with 4000 atoms + +Performance: 126031.028 tau/day, 291.738 timesteps/s, 1.167 Matom-step/s +99.6% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.1357 | 1.1768 | 1.2179 | 3.8 | 68.66 +Neigh | 0.40728 | 0.42812 | 0.44897 | 3.2 | 24.98 +Comm | 0.075827 | 0.095749 | 0.11567 | 6.4 | 5.59 +Output | 0.0002928 | 0.0003251 | 0.00035739 | 0.0 | 0.02 +Modify | 0.0076492 | 0.0080146 | 0.00838 | 0.4 | 0.47 +Other | | 0.004868 | | | 0.28 + +Nlocal: 2000 ave 2149 max 1851 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 10459.5 ave 10836 max 10083 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 298070 ave 307801 max 288338 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 596139 +Ave neighs/atom = 149.03475 +Neighbor list builds = 51 +Dangerous builds = 0 +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.945 | 4.949 | 4.953 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 4738.2137 + 550 0.54137926 -6.2592773 0 -5.4474115 -1.9770236 4738.2137 + 600 0.54022886 -6.2573307 0 -5.44719 -1.9619637 4738.2137 + 650 0.54709009 -6.2678862 0 -5.4474562 -1.9958342 4738.2137 + 700 0.54590044 -6.2656903 0 -5.4470444 -1.9957108 4738.2137 + 750 0.55098488 -6.2724831 0 -5.4462124 -2.0287523 4738.2137 + 800 0.5520987 -6.2739184 0 -5.4459774 -2.0084991 4738.2137 + 850 0.54963958 -6.2702473 0 -5.445994 -1.9740031 4738.2137 + 900 0.54390586 -6.2615476 0 -5.4458927 -1.9400871 4738.2137 + 950 0.54741732 -6.2665755 0 -5.4456548 -1.9466417 4738.2137 + 1000 0.54200867 -6.2591246 0 -5.4463148 -1.8881624 4738.2137 +Loop time of 1.67419 on 2 procs for 500 steps with 4000 atoms + +Performance: 129017.323 tau/day, 298.651 timesteps/s, 1.195 Matom-step/s +99.7% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.1354 | 1.1632 | 1.191 | 2.6 | 69.48 +Neigh | 0.39683 | 0.42125 | 0.44567 | 3.8 | 25.16 +Comm | 0.073552 | 0.076486 | 0.07942 | 1.1 | 4.57 +Output | 0.00028662 | 0.00031609 | 0.00034556 | 0.0 | 0.02 +Modify | 0.0075098 | 0.0079796 | 0.0084494 | 0.5 | 0.48 +Other | | 0.004917 | | | 0.29 + +Nlocal: 2000 ave 2127 max 1873 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 10413.5 ave 10886 max 9941 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 300836 ave 314685 max 286986 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 601671 +Ave neighs/atom = 150.41775 +Neighbor list builds = 51 +Dangerous builds = 0 +fix 0 all balance 50 1.0 shift x 5 1.0 weight neigh 0.5 weight time 0.66 weight store WEIGHT +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.953 | 5.144 | 5.336 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 1000 0.54200867 -6.2591246 0 -5.4463148 -1.8881624 4738.2137 + 1050 0.54633412 -6.2656384 0 -5.4463421 -1.9012895 4738.2137 + 1100 0.54325667 -6.2612166 0 -5.4465353 -1.8870463 4738.2137 + 1150 0.55057583 -6.2719187 0 -5.4462614 -1.9575881 4738.2137 + 1200 0.53728175 -6.251744 0 -5.4460228 -1.8124097 4738.2137 + 1250 0.54077561 -6.2567544 0 -5.4457938 -1.8418134 4738.2137 + 1300 0.54430333 -6.260995 0 -5.4447442 -1.856351 4738.2137 + 1350 0.55097839 -6.2715909 0 -5.4453299 -1.9014337 4738.2137 + 1400 0.53858139 -6.2526781 0 -5.445008 -1.7965773 4738.2137 + 1450 0.5421844 -6.2574683 0 -5.444395 -1.7901189 4738.2137 + 1500 0.54200617 -6.2571433 0 -5.4443373 -1.8000344 4738.2137 +Loop time of 2.16148 on 2 procs for 500 steps with 4000 atoms + +Performance: 99931.753 tau/day, 231.324 timesteps/s, 925.294 katom-step/s +98.8% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.79846 | 1.1842 | 1.5699 | 35.4 | 54.79 +Neigh | 0.37845 | 0.43466 | 0.49086 | 8.5 | 20.11 +Comm | 0.08708 | 0.52938 | 0.97168 | 60.8 | 24.49 +Output | 0.0002959 | 0.0003233 | 0.00035071 | 0.0 | 0.01 +Modify | 0.0072841 | 0.0078691 | 0.0084541 | 0.7 | 0.36 +Other | | 0.005076 | | | 0.23 + +Nlocal: 2000 ave 2298 max 1702 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 10344.5 ave 11222 max 9467 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 302958 ave 343175 max 262742 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 605917 +Ave neighs/atom = 151.47925 +Neighbor list builds = 51 +Dangerous builds = 0 +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.957 | 5.337 | 5.718 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 1500 0.54200617 -6.2571433 0 -5.4443373 -1.8000344 4738.2137 + 1550 0.53713589 -6.2504069 0 -5.4449045 -1.764709 4738.2137 + 1600 0.54679555 -6.2646482 0 -5.44466 -1.8115779 4738.2137 + 1650 0.53806567 -6.2519005 0 -5.4450038 -1.7409139 4738.2137 + 1700 0.53479485 -6.2468959 0 -5.4449041 -1.7162328 4738.2137 + 1750 0.53714536 -6.2506572 0 -5.4451406 -1.7340479 4738.2137 + 1800 0.52749909 -6.2358678 0 -5.444817 -1.6875013 4738.2137 + 1850 0.54585987 -6.2629365 0 -5.4443514 -1.7758757 4738.2137 + 1900 0.53010207 -6.2387514 0 -5.4437971 -1.6381553 4738.2137 + 1950 0.54287913 -6.2582893 0 -5.4441742 -1.7367856 4738.2137 + 2000 0.52766186 -6.2348576 0 -5.4435627 -1.5589066 4738.2137 +Loop time of 2.18418 on 2 procs for 500 steps with 4000 atoms + +Performance: 98892.757 tau/day, 228.918 timesteps/s, 915.674 katom-step/s +98.6% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.87818 | 1.1728 | 1.4674 | 27.2 | 53.69 +Neigh | 0.38155 | 0.42626 | 0.47096 | 6.8 | 19.52 +Comm | 0.23213 | 0.57157 | 0.91101 | 44.9 | 26.17 +Output | 0.00030069 | 0.00032376 | 0.00034684 | 0.0 | 0.01 +Modify | 0.0076232 | 0.0079287 | 0.0082342 | 0.3 | 0.36 +Other | | 0.005329 | | | 0.24 + +Nlocal: 2000 ave 2300 max 1700 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 10324 ave 11204 max 9444 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 303986 ave 345018 max 262954 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 607972 +Ave neighs/atom = 151.993 +Neighbor list builds = 51 +Dangerous builds = 0 +Total wall time: 0:00:07 diff --git a/examples/balance/log.3Nov23.balance.clock.dynamic.g++.4 b/examples/balance/log.3Nov23.balance.clock.dynamic.g++.4 new file mode 100644 index 0000000000..a4d22713c1 --- /dev/null +++ b/examples/balance/log.3Nov23.balance.clock.dynamic.g++.4 @@ -0,0 +1,234 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +units lj +atom_style atomic +processors * 1 1 + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 3 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 4 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.000 seconds +mass * 1.0 + +region long block 3 6 0 10 0 10 +set region long type 2 +Setting atom values ... + 1400 settings made for type + +velocity all create 1.0 87287 + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 2.5 +pair_coeff * 2 1.0 1.0 5.0 + +neighbor 0.3 bin +neigh_modify every 2 delay 4 check yes +fix p all property/atom d_WEIGHT +compute p all property/atom d_WEIGHT +fix 0 all balance 50 1.0 shift x 10 1.0 weight time 1.0 weight store WEIGHT +variable maximb equal f_0[1] +variable iter equal f_0[2] +variable prev equal f_0[3] +variable final equal f_0 + +#fix 3 all print 50 "${iter} ${prev} ${final} ${maximb}" + +fix 1 all nve + +#dump id all atom 50 dump.melt +#dump id all custom 50 dump.lammpstrj id type x y z c_p + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +thermo 50 +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 2 steps, delay = 4 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.3 + ghost atom cutoff = 5.3 + binsize = 2.65, bins = 7 7 7 + 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 + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.692 | 4.073 | 4.455 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137 + 50 0.48653399 -6.1788509 0 -5.4492324 -1.6017778 4738.2137 + 100 0.53411175 -6.249885 0 -5.4489177 -1.9317606 4738.2137 + 150 0.53646658 -6.2527206 0 -5.4482219 -1.9689568 4738.2137 + 200 0.54551611 -6.2656326 0 -5.4475631 -2.0042104 4738.2137 + 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 4738.2137 + 300 0.5477618 -6.2678071 0 -5.4463698 -1.997842 4738.2137 + 350 0.55600296 -6.2801497 0 -5.4463538 -2.0394056 4738.2137 + 400 0.53241503 -6.2453665 0 -5.4469436 -1.878594 4738.2137 + 450 0.5439158 -6.2623 0 -5.4466302 -1.9744161 4738.2137 + 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 4738.2137 +Loop time of 1.25319 on 4 procs for 500 steps with 4000 atoms + +Performance: 172359.605 tau/day, 398.981 timesteps/s, 1.596 Matom-step/s +98.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.34653 | 0.64351 | 0.91663 | 28.5 | 51.35 +Neigh | 0.21165 | 0.23194 | 0.25847 | 4.2 | 18.51 +Comm | 0.11416 | 0.36777 | 0.63774 | 34.3 | 29.35 +Output | 0.00027595 | 0.00030885 | 0.00034514 | 0.0 | 0.02 +Modify | 0.0044031 | 0.005039 | 0.0057452 | 0.8 | 0.40 +Other | | 0.004619 | | | 0.37 + +Nlocal: 1000 ave 1250 max 767 min +Histogram: 1 1 0 0 0 0 0 1 0 1 +Nghost: 8594.25 ave 9068 max 8005 min +Histogram: 1 0 0 0 0 1 1 0 0 1 +Neighs: 149308 ave 207861 max 76482 min +Histogram: 1 0 1 0 0 0 0 0 0 2 + +Total # of neighbors = 597231 +Ave neighs/atom = 149.30775 +Neighbor list builds = 50 +Dangerous builds = 0 +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.082 | 4.271 | 4.459 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 4738.2137 + 550 0.53879347 -6.2554274 0 -5.4474393 -1.9756834 4738.2137 + 600 0.54275982 -6.2616799 0 -5.4477437 -1.9939993 4738.2137 + 650 0.54526651 -6.265098 0 -5.4474027 -2.0303672 4738.2137 + 700 0.54369381 -6.263201 0 -5.4478642 -1.9921967 4738.2137 + 750 0.54452777 -6.2640839 0 -5.4474964 -1.9658675 4738.2137 + 800 0.55061744 -6.2725556 0 -5.4468359 -2.0100922 4738.2137 + 850 0.55371614 -6.2763992 0 -5.4460326 -2.0065329 4738.2137 + 900 0.54756622 -6.2668303 0 -5.4456863 -1.9796122 4738.2137 + 950 0.54791593 -6.2673161 0 -5.4456477 -1.9598278 4738.2137 + 1000 0.54173198 -6.2586101 0 -5.4462153 -1.9007466 4738.2137 +Loop time of 1.21278 on 4 procs for 500 steps with 4000 atoms + +Performance: 178103.015 tau/day, 412.275 timesteps/s, 1.649 Matom-step/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.34456 | 0.63182 | 0.88173 | 27.7 | 52.10 +Neigh | 0.21634 | 0.24141 | 0.2701 | 4.5 | 19.91 +Comm | 0.10554 | 0.32979 | 0.58781 | 34.4 | 27.19 +Output | 0.00027303 | 0.00029988 | 0.00033111 | 0.0 | 0.02 +Modify | 0.0042091 | 0.0049092 | 0.0056581 | 0.9 | 0.40 +Other | | 0.004556 | | | 0.38 + +Nlocal: 1000 ave 1448 max 649 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +Nghost: 8681.25 ave 9365 max 7993 min +Histogram: 1 0 1 0 0 0 0 1 0 1 +Neighs: 150170 ave 187956 max 103584 min +Histogram: 1 0 0 1 0 0 0 0 1 1 + +Total # of neighbors = 600678 +Ave neighs/atom = 150.1695 +Neighbor list builds = 53 +Dangerous builds = 0 +fix 0 all balance 50 1.0 shift x 5 1.0 weight neigh 0.5 weight time 0.66 weight store WEIGHT +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.082 | 4.271 | 4.459 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 1000 0.54173198 -6.2586101 0 -5.4462153 -1.9007466 4738.2137 + 1050 0.54629742 -6.2657526 0 -5.4465113 -1.945821 4738.2137 + 1100 0.55427881 -6.2781733 0 -5.446963 -2.0021027 4738.2137 + 1150 0.54730654 -6.267257 0 -5.4465025 -1.9420678 4738.2137 + 1200 0.5388281 -6.2547963 0 -5.4467562 -1.890178 4738.2137 + 1250 0.54848768 -6.2694237 0 -5.4468979 -1.9636797 4738.2137 + 1300 0.54134321 -6.2590728 0 -5.447261 -1.9170271 4738.2137 + 1350 0.53564389 -6.2501521 0 -5.4468871 -1.8642306 4738.2137 + 1400 0.53726924 -6.2518379 0 -5.4461355 -1.8544028 4738.2137 + 1450 0.54525935 -6.2632653 0 -5.4455808 -1.9072158 4738.2137 + 1500 0.54223346 -6.2591057 0 -5.4459588 -1.8866984 4738.2137 +Loop time of 1.11039 on 4 procs for 500 steps with 4000 atoms + +Performance: 194526.606 tau/day, 450.293 timesteps/s, 1.801 Matom-step/s +98.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.42944 | 0.62743 | 0.76349 | 18.0 | 56.51 +Neigh | 0.1745 | 0.22812 | 0.29389 | 10.7 | 20.54 +Comm | 0.15606 | 0.24538 | 0.37672 | 18.4 | 22.10 +Output | 0.00028277 | 0.00030572 | 0.00033535 | 0.0 | 0.03 +Modify | 0.0036942 | 0.0046797 | 0.0057281 | 1.4 | 0.42 +Other | | 0.00448 | | | 0.40 + +Nlocal: 1000 ave 1289 max 764 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 8639.25 ave 9512 max 8090 min +Histogram: 1 1 0 1 0 0 0 0 0 1 +Neighs: 150494 ave 209619 max 82578 min +Histogram: 1 0 1 0 0 0 0 0 0 2 + +Total # of neighbors = 601974 +Ave neighs/atom = 150.4935 +Neighbor list builds = 51 +Dangerous builds = 0 +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.082 | 4.272 | 4.459 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 1500 0.54223346 -6.2591057 0 -5.4459588 -1.8866984 4738.2137 + 1550 0.55327014 -6.2750125 0 -5.4453148 -1.9506585 4738.2137 + 1600 0.54418991 -6.261262 0 -5.4451812 -1.8559426 4738.2137 + 1650 0.54710046 -6.266198 0 -5.4457525 -1.888284 4738.2137 + 1700 0.53665701 -6.2504958 0 -5.4457115 -1.8067998 4738.2137 + 1750 0.5486465 -6.2681117 0 -5.4453477 -1.8662621 4738.2137 + 1800 0.54476258 -6.2615089 0 -5.4445693 -1.8352878 4738.2137 + 1850 0.541431 -6.255553 0 -5.4436095 -1.8005746 4738.2137 + 1900 0.53992581 -6.2541254 0 -5.4444392 -1.7768566 4738.2137 + 1950 0.54667259 -6.264121 0 -5.4443171 -1.7947882 4738.2137 + 2000 0.54556851 -6.2625542 0 -5.444406 -1.8072484 4738.2137 +Loop time of 1.14143 on 4 procs for 500 steps with 4000 atoms + +Performance: 189237.081 tau/day, 438.049 timesteps/s, 1.752 Matom-step/s +99.2% 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.42201 | 0.63026 | 0.77752 | 18.6 | 55.22 +Neigh | 0.18905 | 0.2462 | 0.31411 | 10.7 | 21.57 +Comm | 0.15495 | 0.25528 | 0.39485 | 18.8 | 22.36 +Output | 0.00027662 | 0.00030437 | 0.00033645 | 0.0 | 0.03 +Modify | 0.0037058 | 0.0046791 | 0.0056663 | 1.4 | 0.41 +Other | | 0.004707 | | | 0.41 + +Nlocal: 1000 ave 1309 max 769 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +Nghost: 8636.75 ave 9520 max 8192 min +Histogram: 2 0 1 0 0 0 0 0 0 1 +Neighs: 151656 ave 211059 max 85091 min +Histogram: 1 0 1 0 0 0 0 0 0 2 + +Total # of neighbors = 606625 +Ave neighs/atom = 151.65625 +Neighbor list builds = 56 +Dangerous builds = 0 +Total wall time: 0:00:04 diff --git a/examples/balance/log.3Nov23.balance.clock.static.g++.2 b/examples/balance/log.3Nov23.balance.clock.static.g++.2 new file mode 100644 index 0000000000..ad9e32eccf --- /dev/null +++ b/examples/balance/log.3Nov23.balance.clock.static.g++.2 @@ -0,0 +1,207 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +units lj +atom_style atomic +processors * 1 1 + +variable factor index 1.0 + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 3 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 2 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.001 seconds +mass * 1.0 + +region long block 3 6 0 10 0 10 +set region long type 2 +Setting atom values ... + 1400 settings made for type + +velocity all create 1.0 87287 + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 2.5 +pair_coeff * 2 1.0 1.0 5.0 + +neighbor 0.3 bin +neigh_modify every 2 delay 4 check yes + +group fast type 1 +2600 atoms in group fast +group slow type 2 +1400 atoms in group slow +balance 1.0 shift x 5 1.1 weight time 1.0 # out unweighted.txt +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 2 steps, delay = 4 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.3 + ghost atom cutoff = 5.3 + binsize = 2.65, bins = 7 7 7 + 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 + bin: standard + rebalancing time: 0.001 seconds + iteration count = 1 + time weight factor: 1 + initial/final maximal load/proc = 2000 2000 + initial/final imbalance factor = 1 1 + x cuts: 0 0.5 1 + y cuts: 0 1 + z cuts: 0 1 + +fix 1 all nve + +#dump id all atom 50 dump.melt + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +thermo 50 +run 250 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.294 | 4.485 | 4.675 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -6.9453205 0 -5.4456955 -5.6812358 + 50 0.49578514 -6.1929216 0 -5.4494298 -1.6668039 + 100 0.53275389 -6.2475932 0 -5.4486622 -1.9063885 + 150 0.53316457 -6.2483202 0 -5.4487733 -1.9476162 + 200 0.536665 -6.2530113 0 -5.448215 -1.933468 + 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 +Loop time of 0.952998 on 2 procs for 250 steps with 4000 atoms + +Performance: 113326.532 tau/day, 262.330 timesteps/s, 1.049 Matom-step/s +99.4% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.4745 | 0.59305 | 0.7116 | 15.4 | 62.23 +Neigh | 0.19129 | 0.20528 | 0.21927 | 3.1 | 21.54 +Comm | 0.016122 | 0.14873 | 0.28134 | 34.4 | 15.61 +Output | 0.00015798 | 0.00017139 | 0.0001848 | 0.0 | 0.02 +Modify | 0.0032698 | 0.0033573 | 0.0034449 | 0.2 | 0.35 +Other | | 0.00241 | | | 0.25 + +Nlocal: 2000 ave 2051 max 1949 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 10443 ave 10506 max 10380 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 298332 ave 363449 max 233215 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 596664 +Ave neighs/atom = 149.166 +Neighbor list builds = 24 +Dangerous builds = 0 +balance 1.0 shift x 5 1.1 weight time 1.0 # out unweighted.txt +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 3 + time weight factor: 1 + initial/final maximal load/proc = 1.0308705 0.92612715 + initial/final imbalance factor = 1.1475395 1.0309418 + x cuts: 0 0.4375 1 + y cuts: 0 1 + z cuts: 0 1 +run 250 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.68 | 4.683 | 4.687 Mbytes + Step Temp E_pair E_mol TotEng Press + 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 + 300 0.55111476 -6.2727642 0 -5.4462987 -2.0384873 + 350 0.55211503 -6.274054 0 -5.4460885 -2.0116976 + 400 0.54638463 -6.2661715 0 -5.4467995 -1.992248 + 450 0.55885307 -6.2852263 0 -5.4471563 -2.0669747 + 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 +Loop time of 0.88104 on 2 procs for 250 steps with 4000 atoms + +Performance: 122582.335 tau/day, 283.755 timesteps/s, 1.135 Matom-step/s +99.6% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.54838 | 0.58404 | 0.6197 | 4.7 | 66.29 +Neigh | 0.18083 | 0.20191 | 0.22299 | 4.7 | 22.92 +Comm | 0.032279 | 0.089285 | 0.14629 | 19.1 | 10.13 +Output | 0.00014548 | 0.00016198 | 0.00017849 | 0.0 | 0.02 +Modify | 0.0029024 | 0.0032448 | 0.0035871 | 0.6 | 0.37 +Other | | 0.002397 | | | 0.27 + +Nlocal: 2000 ave 2284 max 1716 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 10450 ave 10742 max 10158 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 298063 ave 326003 max 270123 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 596126 +Ave neighs/atom = 149.0315 +Neighbor list builds = 25 +Dangerous builds = 0 +balance 1.0 shift x 5 1.1 weight time 1.0 # out unweighted.txt +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 4 + time weight factor: 1 + initial/final maximal load/proc = 0.94269243 0.91089769 + initial/final imbalance factor = 1.0640447 1.028157 + x cuts: 0 0.47265625 1 + y cuts: 0 1 + z cuts: 0 1 +run 250 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.68 | 4.683 | 4.687 Mbytes + Step Temp E_pair E_mol TotEng Press + 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 + 550 0.54137926 -6.2592773 0 -5.4474115 -1.9770236 + 600 0.54022886 -6.2573307 0 -5.44719 -1.9619637 + 650 0.54709009 -6.2678862 0 -5.4474562 -1.9958342 + 700 0.54590044 -6.2656903 0 -5.4470444 -1.9957108 + 750 0.55098488 -6.2724831 0 -5.4462124 -2.0287523 +Loop time of 0.879484 on 2 procs for 250 steps with 4000 atoms + +Performance: 122799.292 tau/day, 284.258 timesteps/s, 1.137 Matom-step/s +99.5% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.52834 | 0.59047 | 0.6526 | 8.1 | 67.14 +Neigh | 0.20544 | 0.20695 | 0.20845 | 0.3 | 23.53 +Comm | 0.015738 | 0.076296 | 0.13685 | 21.9 | 8.68 +Output | 0.00016028 | 0.00017427 | 0.00018825 | 0.0 | 0.02 +Modify | 0.0032547 | 0.0033096 | 0.0033644 | 0.1 | 0.38 +Other | | 0.002288 | | | 0.26 + +Nlocal: 2000 ave 2089 max 1911 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 10347.5 ave 10639 max 10056 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 299628 ave 327997 max 271259 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 599256 +Ave neighs/atom = 149.814 +Neighbor list builds = 25 +Dangerous builds = 0 +Total wall time: 0:00:02 diff --git a/examples/balance/log.3Nov23.balance.clock.static.g++.4 b/examples/balance/log.3Nov23.balance.clock.static.g++.4 new file mode 100644 index 0000000000..190e4ef34b --- /dev/null +++ b/examples/balance/log.3Nov23.balance.clock.static.g++.4 @@ -0,0 +1,207 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +units lj +atom_style atomic +processors * 1 1 + +variable factor index 1.0 + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 3 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 4 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.000 seconds +mass * 1.0 + +region long block 3 6 0 10 0 10 +set region long type 2 +Setting atom values ... + 1400 settings made for type + +velocity all create 1.0 87287 + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 2.5 +pair_coeff * 2 1.0 1.0 5.0 + +neighbor 0.3 bin +neigh_modify every 2 delay 4 check yes + +group fast type 1 +2600 atoms in group fast +group slow type 2 +1400 atoms in group slow +balance 1.0 shift x 5 1.1 weight time 1.0 # out unweighted.txt +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 2 steps, delay = 4 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.3 + ghost atom cutoff = 5.3 + binsize = 2.65, bins = 7 7 7 + 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 + bin: standard + rebalancing time: 0.000 seconds + iteration count = 2 + time weight factor: 1 + initial/final maximal load/proc = 1200 1200 + initial/final imbalance factor = 1.2 1.2 + x cuts: 0 0.25 0.5 0.6875 1 + y cuts: 0 1 + z cuts: 0 1 + +fix 1 all nve + +#dump id all atom 50 dump.melt + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +thermo 50 +run 250 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.427 | 3.713 | 4.19 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -6.9453205 0 -5.4456955 -5.6812358 + 50 0.48653399 -6.1788509 0 -5.4492324 -1.6017778 + 100 0.53411175 -6.249885 0 -5.4489177 -1.9317606 + 150 0.53646658 -6.2527206 0 -5.4482219 -1.9689568 + 200 0.54551611 -6.2656326 0 -5.4475631 -2.0042104 + 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 +Loop time of 0.73733 on 4 procs for 250 steps with 4000 atoms + +Performance: 146474.412 tau/day, 339.061 timesteps/s, 1.356 Matom-step/s +98.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.17561 | 0.32661 | 0.58554 | 29.3 | 44.30 +Neigh | 0.082409 | 0.10388 | 0.12511 | 5.7 | 14.09 +Comm | 0.022216 | 0.30253 | 0.46162 | 31.8 | 41.03 +Output | 0.00014228 | 0.00015708 | 0.00017991 | 0.0 | 0.02 +Modify | 0.0015077 | 0.001891 | 0.0022549 | 0.7 | 0.26 +Other | | 0.002266 | | | 0.31 + +Nlocal: 1000 ave 1263 max 712 min +Histogram: 1 0 0 0 1 0 1 0 0 1 +Nghost: 8711.5 ave 9045 max 8325 min +Histogram: 1 0 0 0 0 1 1 0 0 1 +Neighs: 149325 ave 275165 max 77227 min +Histogram: 2 0 0 0 1 0 0 0 0 1 + +Total # of neighbors = 597299 +Ave neighs/atom = 149.32475 +Neighbor list builds = 23 +Dangerous builds = 0 +balance 1.0 shift x 5 1.1 weight time 1.0 # out unweighted.txt +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 3 + time weight factor: 1 + initial/final maximal load/proc = 0.81065095 0.60308204 + initial/final imbalance factor = 1.5281141 1.1368372 + x cuts: 0 0.28125 0.46875 0.6171875 1 + y cuts: 0 1 + z cuts: 0 1 +run 250 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.788 | 3.909 | 4.194 Mbytes + Step Temp E_pair E_mol TotEng Press + 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 + 300 0.5477618 -6.2678071 0 -5.4463698 -1.997842 + 350 0.55600296 -6.2801497 0 -5.4463538 -2.0394056 + 400 0.53241503 -6.2453665 0 -5.4469436 -1.878594 + 450 0.5439158 -6.2623 0 -5.4466302 -1.9744161 + 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 +Loop time of 0.574974 on 4 procs for 250 steps with 4000 atoms + +Performance: 187834.605 tau/day, 434.802 timesteps/s, 1.739 Matom-step/s +98.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.22579 | 0.30378 | 0.43857 | 15.5 | 52.83 +Neigh | 0.065619 | 0.099114 | 0.13721 | 8.3 | 17.24 +Comm | 0.044004 | 0.16804 | 0.24011 | 18.1 | 29.23 +Output | 0.0001362 | 0.00015185 | 0.00017014 | 0.0 | 0.03 +Modify | 0.001083 | 0.0017628 | 0.0025897 | 1.4 | 0.31 +Other | | 0.002125 | | | 0.37 + +Nlocal: 1000 ave 1467 max 599 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 8613.75 ave 9708 max 7894 min +Histogram: 2 0 0 0 0 1 0 0 0 1 +Neighs: 149356 ave 216864 max 107229 min +Histogram: 2 0 0 0 0 1 0 0 0 1 + +Total # of neighbors = 597424 +Ave neighs/atom = 149.356 +Neighbor list builds = 24 +Dangerous builds = 0 +balance 1.0 shift x 5 1.1 weight time 1.0 # out unweighted.txt +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 3 + time weight factor: 1 + initial/final maximal load/proc = 0.62725559 0.55791509 + initial/final imbalance factor = 1.2472897 1.109407 + x cuts: 0 0.3046875 0.4453125 0.59863281 1 + y cuts: 0 1 + z cuts: 0 1 +run 250 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.806 | 3.927 | 4.211 Mbytes + Step Temp E_pair E_mol TotEng Press + 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 + 550 0.53879347 -6.2554274 0 -5.4474393 -1.9756834 + 600 0.54275982 -6.2616799 0 -5.4477437 -1.9939993 + 650 0.54526651 -6.265098 0 -5.4474027 -2.0303672 + 700 0.54369381 -6.263201 0 -5.4478642 -1.9921967 + 750 0.54452777 -6.2640839 0 -5.4474964 -1.9658675 +Loop time of 0.542284 on 4 procs for 250 steps with 4000 atoms + +Performance: 199157.784 tau/day, 461.013 timesteps/s, 1.844 Matom-step/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.27261 | 0.30921 | 0.36016 | 5.7 | 57.02 +Neigh | 0.067401 | 0.10933 | 0.15726 | 11.2 | 20.16 +Comm | 0.098733 | 0.11963 | 0.17136 | 8.7 | 22.06 +Output | 0.00013971 | 0.00015475 | 0.00017256 | 0.0 | 0.03 +Modify | 0.00098217 | 0.0017424 | 0.0025707 | 1.6 | 0.32 +Other | | 0.002205 | | | 0.41 + +Nlocal: 1000 ave 1553 max 533 min +Histogram: 1 1 0 0 0 0 1 0 0 1 +Nghost: 8745 ave 9835 max 8005 min +Histogram: 2 0 0 0 0 1 0 0 0 1 +Neighs: 149124 ave 181946 max 128563 min +Histogram: 1 0 2 0 0 0 0 0 0 1 + +Total # of neighbors = 596497 +Ave neighs/atom = 149.12425 +Neighbor list builds = 25 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/balance/log.3Nov23.balance.g++.2 b/examples/balance/log.3Nov23.balance.g++.2 new file mode 100644 index 0000000000..8bf03941cd --- /dev/null +++ b/examples/balance/log.3Nov23.balance.g++.2 @@ -0,0 +1,213 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 2d circle of particles inside a box with LJ walls + +variable b index 0 + +variable x index 50 +variable y index 20 +variable d index 20 +variable v index 5 +variable w index 2 + +units lj +dimension 2 +atom_style atomic +boundary f f p + +lattice hex 0.85 +Lattice spacing in x,y,z = 1.1655347 2.0187654 1.1655347 +region box block 0 $x 0 $y -0.5 0.5 +region box block 0 50 0 $y -0.5 0.5 +region box block 0 50 0 20 -0.5 0.5 +create_box 1 box +Created orthogonal box = (0 0 -0.58276737) to (58.276737 40.375308 0.58276737) + 2 by 1 by 1 MPI processor grid +region circle sphere $(v_d/2+1) $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) +region circle sphere 11 $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) +region circle sphere 11 6.7735026918962581988 0.0 $(v_d/2) +region circle sphere 11 6.7735026918962581988 0.0 10 +create_atoms 1 region circle +Created 361 atoms + using lattice units in orthogonal box = (0 0 -0.58276737) to (58.276737 40.375308 0.58276737) + create_atoms CPU = 0.001 seconds +mass 1 1.0 + +velocity all create 0.5 87287 loop geom +velocity all set $v $w 0 sum yes +velocity all set 5 $w 0 sum yes +velocity all set 5 2 0 sum yes + +pair_style lj/cut 2.5 +pair_coeff 1 1 10.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi $x 1 1 2.5 +fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi 50 1 1 2.5 +fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi $y 1 1 2.5 +fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi 20 1 1 2.5 + +comm_style tiled +fix 10 all balance 50 0.9 rcb + +#compute 1 all property/atom proc +#variable p atom c_1%10 +#dump 2 all custom 50 tmp.dump id v_p x y z + +#dump 3 all image 50 image.*.jpg v_p type # adiam 1.0 view 0 0 zoom 1.8 subbox yes 0.02 +#variable colors string # "red green blue yellow white # purple pink orange lime gray" +#dump_modify 3 pad 5 amap 0 10 sa 1 10 ${colors} + +thermo_style custom step temp epair press f_10[3] f_10 +thermo 100 +timestep 0.001 + +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +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 = 42 29 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 + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.061 | 3.066 | 3.071 Mbytes + Step Temp E_pair Press f_10[3] f_10 + 0 25.701528 -29.143179 -1.2407285 2 1.0193906 + 100 25.842512 -29.285247 0.26525204 1.0193906 1.0027701 + 200 26.307268 -29.748808 1.8402984 1.0193906 1.0027701 + 300 26.746717 -30.187064 3.3160966 1.0193906 1.0083102 + 400 26.877952 -30.317954 5.3251792 1.0304709 1.0027701 + 500 26.266471 -29.708192 7.9166641 1.0193906 1.0027701 + 600 26.005495 -29.448014 9.4696736 1.0193906 1.0027701 + 700 26.321835 -29.763442 8.7529756 1.0304709 1.0027701 + 800 26.677822 -30.118375 4.840886 1.0193906 1.0027701 + 900 26.708823 -30.149264 2.8898542 1.0304709 1.0083102 + 1000 26.373337 -29.814704 1.6422658 1.0193906 1.0027701 + 1100 25.893585 -29.335362 0.97146057 1.0304709 1.0027701 + 1200 25.710916 -29.147328 0.80754847 1.0193906 1.0027701 + 1300 25.76291 -29.201881 0.88170364 1.0304709 1.0027701 + 1400 26.080337 -29.52159 1.2169926 1.0304709 1.0083102 + 1500 26.473221 -29.914282 2.3873969 1.0304709 1.0027701 + 1600 26.738055 -30.178413 4.1057361 1.0304709 1.0027701 + 1700 26.589182 -30.030057 6.6930875 1.0304709 1.0083102 + 1800 26.122828 -29.565007 8.897304 1.0304709 1.0027701 + 1900 26.16025 -29.602425 8.4722268 1.0304709 1.0083102 + 2000 26.510754 -29.951778 6.6913672 1.0304709 1.0027701 + 2100 26.732291 -30.172707 4.1328654 1.0193906 1.0083102 + 2200 26.479423 -29.92049 2.3106996 1.0193906 1.0027701 + 2300 26.058035 -29.500247 1.2582222 1.0193906 1.0027701 + 2400 25.732051 -29.175166 0.54231521 1.0304709 1.0083102 + 2500 25.733864 -29.176523 0.66714018 1.0193906 1.0083102 + 2600 25.990734 -29.433139 1.2035223 1.0304709 1.0027701 + 2700 26.383788 -29.82468 2.162696 1.0193906 1.0027701 + 2800 26.679604 -30.120134 3.6992506 1.0193906 1.0083102 + 2900 26.600714 -30.041505 5.7237864 1.0304709 1.0027701 + 3000 26.250766 -29.692594 7.9725502 1.0304709 1.0027701 + 3100 26.121363 -29.563584 8.9373309 1.0193906 1.0027701 + 3200 26.477192 -29.918373 7.1092175 1.0193906 1.0027701 + 3300 26.689536 -30.129977 4.5776139 1.0304709 1.0027701 + 3400 26.586629 -30.026764 2.7417726 1.0304709 1.0027701 + 3500 26.220686 -29.659572 1.6498578 1.0304709 1.0027701 + 3600 25.866231 -29.300814 1.1210814 1.0193906 1.0027701 + 3700 25.659205 -29.142497 0.88115023 1.0193906 1.0027701 + 3800 25.68947 -29.145676 1.4621172 1.0304709 1.0027701 + 3900 25.842813 -29.305171 2.6326543 1.0304709 1.0027701 + 4000 25.919278 -29.470226 4.5283838 1.0304709 1.0027701 + 4100 24.903798 -28.514051 8.027658 1.0304709 1.0027701 + 4200 23.423542 -27.070178 11.619766 1.0304709 1.0083102 + 4300 22.043492 -25.928725 13.445594 1.0304709 1.0083102 + 4400 22.154748 -25.970203 12.572064 1.0304709 1.0027701 + 4500 23.469652 -27.084691 9.6953414 1.0249307 1.0083102 + 4600 23.645224 -27.247805 6.5087935 1.0249307 1.0027701 + 4700 23.449403 -26.921826 3.8388213 1.0249307 1.0027701 + 4800 22.978713 -26.375077 2.2105686 1.0249307 1.0027701 + 4900 22.547461 -25.880668 1.6287577 1.0138504 1.0083102 + 5000 22.34432 -25.632296 1.3146711 1.0304709 1.0083102 + 5100 21.859416 -25.132381 1.4466766 1.0138504 1.0083102 + 5200 21.854255 -25.131546 1.6303448 1.0138504 1.0027701 + 5300 21.425171 -24.876722 2.6133634 1.0027701 1.0027701 + 5400 19.687643 -23.234478 5.4446821 1.0138504 1.0027701 + 5500 18.102224 -21.98985 7.8007647 1.0138504 1.0027701 + 5600 17.402396 -21.218157 8.8854058 1.0138504 1.0027701 + 5700 17.49995 -21.430274 8.8193841 1.0083102 1.0083102 + 5800 18.01284 -21.490424 8.2097589 1.0083102 1.0083102 + 5900 17.565819 -21.169657 7.3645475 1.0027701 1.0027701 + 6000 17.002407 -20.455432 8.0176011 1.0083102 1.0083102 + 6100 17.527412 -20.899213 6.0280989 1.0027701 1.0027701 + 6200 17.068329 -20.522823 5.4665249 1.0027701 1.0027701 + 6300 16.424762 -19.676043 5.1320371 1.0027701 1.0027701 + 6400 16.186199 -19.427212 4.3019107 1.0027701 1.0027701 + 6500 15.691963 -18.890331 3.8910044 1.0027701 1.0027701 + 6600 15.525701 -18.788954 3.5106407 1.0083102 1.0083102 + 6700 15.641437 -18.744896 2.9139189 1.0027701 1.0083102 + 6800 15.656899 -18.774587 2.1876061 1.0138504 1.0027701 + 6900 15.094185 -18.163325 2.3500048 1.0138504 1.0027701 + 7000 14.991269 -18.044483 2.5047107 1.0249307 1.0027701 + 7100 14.727757 -17.740443 2.0066013 1.0138504 1.0027701 + 7200 14.32011 -17.413392 1.5370313 1.0083102 1.0027701 + 7300 14.153835 -17.154266 2.2823938 1.0138504 1.0027701 + 7400 13.644555 -16.662895 2.1522299 1.0083102 1.0083102 + 7500 14.14831 -17.129791 1.5888858 1.0138504 1.0027701 + 7600 13.625238 -16.591406 1.4121129 1.0138504 1.0027701 + 7700 13.471137 -16.441146 1.3192621 1.0193906 1.0083102 + 7800 13.262113 -16.221083 1.516185 1.0083102 1.0027701 + 7900 13.146175 -16.128839 1.6154309 1.0193906 1.0027701 + 8000 13.030735 -15.972746 1.5756469 1.0083102 1.0027701 + 8100 12.742337 -15.790849 1.5660957 1.0138504 1.0027701 + 8200 13.111618 -16.038849 1.4662027 1.0027701 1.0083102 + 8300 12.847359 -15.82086 1.9249118 1.0138504 1.0027701 + 8400 13.136509 -16.066829 1.6715045 1.0138504 1.0027701 + 8500 12.929796 -15.955279 1.1388437 1.0083102 1.0027701 + 8600 13.000263 -15.983556 1.5854841 1.0083102 1.0027701 + 8700 12.524346 -15.443794 1.8406232 1.0083102 1.0027701 + 8800 12.718004 -15.691429 1.4077935 1.0193906 1.0027701 + 8900 12.98278 -15.92931 1.5950893 1.0083102 1.0027701 + 9000 12.444974 -15.506365 1.6085567 1.0249307 1.0027701 + 9100 12.5341 -15.471682 1.6458191 1.0027701 1.0027701 + 9200 12.411742 -15.374927 1.7423964 1.0027701 1.0027701 + 9300 12.613 -15.543866 1.6002664 1.0027701 1.0027701 + 9400 12.315079 -15.231839 1.7207652 1.0138504 1.0027701 + 9500 12.49493 -15.406632 1.5330057 1.0138504 1.0027701 + 9600 12.332602 -15.240282 1.2401605 1.0027701 1.0027701 + 9700 11.894396 -14.794216 1.4072165 1.0083102 1.0027701 + 9800 12.140847 -15.113816 1.6174151 1.0027701 1.0083102 + 9900 12.326936 -15.241095 1.2077951 1.0083102 1.0027701 + 10000 12.212835 -15.106252 1.2704949 1.0083102 1.0027701 +Loop time of 0.177325 on 2 procs for 10000 steps with 361 atoms + +Performance: 4872405.392 tau/day, 56393.581 timesteps/s, 20.358 Matom-step/s +96.7% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.082172 | 0.083041 | 0.08391 | 0.3 | 46.83 +Neigh | 0.025221 | 0.025625 | 0.026029 | 0.3 | 14.45 +Comm | 0.022461 | 0.026564 | 0.030666 | 2.5 | 14.98 +Output | 0.00084416 | 0.00098787 | 0.0011316 | 0.0 | 0.56 +Modify | 0.024707 | 0.025096 | 0.025485 | 0.2 | 14.15 +Other | | 0.01601 | | | 9.03 + +Nlocal: 180.5 ave 181 max 180 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 38 ave 44 max 32 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 1018.5 ave 1032 max 1005 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 2037 +Ave neighs/atom = 5.6426593 +Neighbor list builds = 987 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/balance/log.3Nov23.balance.g++.4 b/examples/balance/log.3Nov23.balance.g++.4 new file mode 100644 index 0000000000..80da296791 --- /dev/null +++ b/examples/balance/log.3Nov23.balance.g++.4 @@ -0,0 +1,213 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 2d circle of particles inside a box with LJ walls + +variable b index 0 + +variable x index 50 +variable y index 20 +variable d index 20 +variable v index 5 +variable w index 2 + +units lj +dimension 2 +atom_style atomic +boundary f f p + +lattice hex 0.85 +Lattice spacing in x,y,z = 1.1655347 2.0187654 1.1655347 +region box block 0 $x 0 $y -0.5 0.5 +region box block 0 50 0 $y -0.5 0.5 +region box block 0 50 0 20 -0.5 0.5 +create_box 1 box +Created orthogonal box = (0 0 -0.58276737) to (58.276737 40.375308 0.58276737) + 2 by 2 by 1 MPI processor grid +region circle sphere $(v_d/2+1) $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) +region circle sphere 11 $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2) +region circle sphere 11 6.7735026918962581988 0.0 $(v_d/2) +region circle sphere 11 6.7735026918962581988 0.0 10 +create_atoms 1 region circle +Created 361 atoms + using lattice units in orthogonal box = (0 0 -0.58276737) to (58.276737 40.375308 0.58276737) + create_atoms CPU = 0.000 seconds +mass 1 1.0 + +velocity all create 0.5 87287 loop geom +velocity all set $v $w 0 sum yes +velocity all set 5 $w 0 sum yes +velocity all set 5 2 0 sum yes + +pair_style lj/cut 2.5 +pair_coeff 1 1 10.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve + +fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi $x 1 1 2.5 +fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi 50 1 1 2.5 +fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi $y 1 1 2.5 +fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi 20 1 1 2.5 + +comm_style tiled +fix 10 all balance 50 0.9 rcb + +#compute 1 all property/atom proc +#variable p atom c_1%10 +#dump 2 all custom 50 tmp.dump id v_p x y z + +#dump 3 all image 50 image.*.jpg v_p type # adiam 1.0 view 0 0 zoom 1.8 subbox yes 0.02 +#variable colors string # "red green blue yellow white # purple pink orange lime gray" +#dump_modify 3 pad 5 amap 0 10 sa 1 10 ${colors} + +thermo_style custom step temp epair press f_10[3] f_10 +thermo 100 +timestep 0.001 + +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +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 = 42 29 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 + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.042 | 3.048 | 3.06 Mbytes + Step Temp E_pair Press f_10[3] f_10 + 0 25.701528 -29.143179 -1.2407285 3.2354571 1.0526316 + 100 25.842512 -29.285247 0.26525204 1.0526316 1.0083102 + 200 26.307268 -29.748808 1.8402984 1.0526316 1.0083102 + 300 26.746717 -30.187064 3.3160966 1.0526316 1.0083102 + 400 26.877952 -30.317954 5.3251792 1.0526316 1.0083102 + 500 26.266471 -29.708192 7.9166641 1.0526316 1.0304709 + 600 26.005495 -29.448014 9.4696736 1.0526316 1.0083102 + 700 26.321835 -29.763442 8.7529756 1.0526316 1.0193906 + 800 26.677822 -30.118375 4.840886 1.0526316 1.0083102 + 900 26.708823 -30.149264 2.8898542 1.0526316 1.0193906 + 1000 26.373337 -29.814704 1.6422658 1.0526316 1.0083102 + 1100 25.893585 -29.335362 0.97146057 1.0526316 1.0083102 + 1200 25.710916 -29.147328 0.80754847 1.0526316 1.0193906 + 1300 25.76291 -29.201881 0.88170364 1.0858726 1.0193906 + 1400 26.080337 -29.52159 1.2169926 1.0526316 1.0083102 + 1500 26.473221 -29.914282 2.3873969 1.0969529 1.0304709 + 1600 26.738055 -30.178413 4.1057361 1.0526316 1.0083102 + 1700 26.589182 -30.030057 6.6930875 1.0526316 1.0193906 + 1800 26.122828 -29.565007 8.897304 1.0526316 1.0083102 + 1900 26.16025 -29.602425 8.4722268 1.0969529 1.0083102 + 2000 26.510754 -29.951778 6.6913672 1.0969529 1.0083102 + 2100 26.732291 -30.172707 4.1328654 1.0526316 1.0304709 + 2200 26.479423 -29.92049 2.3106996 1.0526316 1.0083102 + 2300 26.058035 -29.500247 1.2582222 1.0526316 1.0193906 + 2400 25.732051 -29.175166 0.54231521 1.0526316 1.0304709 + 2500 25.733864 -29.176523 0.66714018 1.0526316 1.0083102 + 2600 25.990734 -29.433139 1.2035223 1.0526316 1.0083102 + 2700 26.383788 -29.82468 2.162696 1.0526316 1.0083102 + 2800 26.679604 -30.120134 3.6992506 1.0526316 1.0304709 + 2900 26.600714 -30.041505 5.7237864 1.0526316 1.0083102 + 3000 26.250766 -29.692594 7.9725502 1.0526316 1.0083102 + 3100 26.121363 -29.563584 8.9373309 1.0526316 1.0083102 + 3200 26.477192 -29.918373 7.1092175 1.0526316 1.0083102 + 3300 26.689536 -30.129977 4.5776139 1.0969529 1.0304709 + 3400 26.586629 -30.026764 2.7417726 1.0969529 1.0083102 + 3500 26.220686 -29.659572 1.6498578 1.0969529 1.0083102 + 3600 25.866231 -29.300814 1.1210814 1.0526316 1.0304709 + 3700 25.659205 -29.142497 0.88115023 1.0526316 1.0083102 + 3800 25.68947 -29.145676 1.4621172 1.0969529 1.0304709 + 3900 25.842813 -29.305171 2.6326543 1.0969529 1.0083102 + 4000 25.919278 -29.470226 4.5283838 1.0969529 1.0083102 + 4100 24.903798 -28.514051 8.027658 1.0526316 1.0083102 + 4200 23.423542 -27.070178 11.619766 1.0858726 1.0193906 + 4300 22.043492 -25.928725 13.445594 1.0858726 1.0083102 + 4400 22.154748 -25.970203 12.572064 1.0415512 1.0083102 + 4500 23.469652 -27.084691 9.6953414 1.0415512 1.0193906 + 4600 23.645224 -27.247805 6.5087935 1.0526316 1.0083102 + 4700 23.449403 -26.921826 3.8388213 1.0415512 1.0193906 + 4800 22.978713 -26.375077 2.2105686 1.0304709 1.0193906 + 4900 22.547461 -25.880668 1.6287577 1.0415512 1.0193906 + 5000 22.34432 -25.632296 1.3146711 1.0415512 1.0083102 + 5100 21.859416 -25.132381 1.4466766 1.0193906 1.0304709 + 5200 21.854255 -25.131546 1.6303448 1.0193906 1.0083102 + 5300 21.425171 -24.876722 2.6133634 1.0193906 1.0193906 + 5400 19.687643 -23.234478 5.4446821 1.0193906 1.0193906 + 5500 18.102224 -21.98985 7.8007647 1.0193906 1.0083102 + 5600 17.402396 -21.218157 8.8854058 1.0193906 1.0083102 + 5700 17.49995 -21.430274 8.8193838 1.0193906 1.0083102 + 5800 18.012839 -21.490423 8.2097596 1.0083102 1.0083102 + 5900 17.565818 -21.169657 7.3645466 1.0304709 1.0083102 + 6000 17.00239 -20.455416 8.0176192 1.0304709 1.0193906 + 6100 17.527455 -20.899259 6.0280748 1.0193906 1.0083102 + 6200 17.068393 -20.522944 5.4664014 1.0083102 1.0083102 + 6300 16.424576 -19.675908 5.13206 1.0083102 1.0193906 + 6400 16.18682 -19.428005 4.2994462 1.0083102 1.0083102 + 6500 15.692498 -18.890361 3.8912337 1.0193906 1.0083102 + 6600 15.543565 -18.808306 3.4752832 1.0637119 1.0083102 + 6700 15.657432 -18.758221 2.9143187 1.0415512 1.0083102 + 6800 15.730059 -18.834511 2.1741976 1.0193906 1.0083102 + 6900 14.954711 -18.033715 2.4588698 1.0415512 1.0083102 + 7000 15.332203 -18.367577 2.1869698 1.0415512 1.0193906 + 7100 14.54279 -17.554326 2.1617263 1.0304709 1.0193906 + 7200 14.485747 -17.494113 1.362177 1.0193906 1.0193906 + 7300 14.266906 -17.269915 1.6961885 1.0193906 1.0083102 + 7400 13.635947 -16.654801 2.1133026 1.0193906 1.0193906 + 7500 14.029933 -17.022405 1.6716246 1.0193906 1.0083102 + 7600 14.119782 -17.107927 1.516669 1.0304709 1.0083102 + 7700 14.0984 -17.079131 1.6226374 1.0193906 1.0193906 + 7800 13.895083 -16.873848 1.6965546 1.0083102 1.0193906 + 7900 13.55953 -16.536866 1.9893454 1.0193906 1.0083102 + 8000 13.649101 -16.633977 1.4873767 1.0526316 1.0083102 + 8100 13.534848 -16.5239 1.5030254 1.0304709 1.0083102 + 8200 13.039311 -16.021896 1.9003186 1.0083102 1.0083102 + 8300 13.212394 -16.15257 1.6325076 1.0304709 1.0083102 + 8400 12.719582 -15.761108 1.7061831 1.0193906 1.0193906 + 8500 12.954096 -15.962673 1.2631089 1.0193906 1.0193906 + 8600 12.583443 -15.65611 1.3899368 1.0083102 1.0083102 + 8700 12.678764 -15.710348 1.0530056 1.0304709 1.0083102 + 8800 12.740618 -15.660427 1.5864512 1.0193906 1.0083102 + 8900 12.249135 -15.232792 1.624414 1.0304709 1.0193906 + 9000 12.500318 -15.426035 1.1440223 1.0193906 1.0083102 + 9100 12.322373 -15.221333 1.5141173 1.0193906 1.0083102 + 9200 12.259837 -15.16384 1.4848297 1.0193906 1.0083102 + 9300 11.928997 -14.955513 1.3933259 1.0193906 1.0083102 + 9400 12.08076 -14.972026 1.6436388 1.0415512 1.0083102 + 9500 12.059618 -14.952921 1.6617096 1.0083102 1.0304709 + 9600 11.840796 -14.759488 1.6735572 1.0304709 1.0083102 + 9700 11.781829 -14.678411 1.6633417 1.0083102 1.0083102 + 9800 11.947375 -14.931443 1.6695696 1.0083102 1.0193906 + 9900 12.031986 -14.904841 0.97065132 1.0193906 1.0083102 + 10000 11.564772 -14.48025 1.627038 1.0304709 1.0083102 +Loop time of 0.161375 on 4 procs for 10000 steps with 361 atoms + +Performance: 5353997.284 tau/day, 61967.561 timesteps/s, 22.370 Matom-step/s +86.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.04238 | 0.045072 | 0.04897 | 1.3 | 27.93 +Neigh | 0.01265 | 0.013679 | 0.014709 | 0.6 | 8.48 +Comm | 0.043614 | 0.054438 | 0.062719 | 3.0 | 33.73 +Output | 0.00097457 | 0.0010711 | 0.0012879 | 0.4 | 0.66 +Modify | 0.022286 | 0.022773 | 0.023314 | 0.3 | 14.11 +Other | | 0.02434 | | | 15.08 + +Nlocal: 90.25 ave 91 max 89 min +Histogram: 1 0 0 0 0 1 0 0 0 2 +Nghost: 42.75 ave 70 max 26 min +Histogram: 2 0 0 0 1 0 0 0 0 1 +Neighs: 492.5 ave 588 max 427 min +Histogram: 1 0 0 2 0 0 0 0 0 1 + +Total # of neighbors = 1970 +Ave neighs/atom = 5.4570637 +Neighbor list builds = 1087 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/balance/log.3Nov23.balance.group.dynamic.g++.2 b/examples/balance/log.3Nov23.balance.group.dynamic.g++.2 new file mode 100644 index 0000000000..394738d23d --- /dev/null +++ b/examples/balance/log.3Nov23.balance.group.dynamic.g++.2 @@ -0,0 +1,116 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +units lj +atom_style atomic +processors * 1 1 + +variable factor index 1.0 + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 3 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 2 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.001 seconds +mass * 1.0 + +region long block 3 6 0 10 0 10 +set region long type 2 +Setting atom values ... + 1400 settings made for type + +velocity all create 1.0 87287 + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 2.5 +pair_coeff * 2 1.0 1.0 5.0 + +neighbor 0.3 bin +neigh_modify every 2 delay 4 check yes + +group fast type 1 +2600 atoms in group fast +group slow type 2 +1400 atoms in group slow +balance 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow ${factor} # out weighted.txt +balance 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow 1.0 +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 2 steps, delay = 4 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.3 + ghost atom cutoff = 5.3 + binsize = 2.65, bins = 7 7 7 + 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 + bin: standard + rebalancing time: 0.001 seconds + iteration count = 1 + group weights: fast=1 slow=1 + initial/final maximal load/proc = 2000 2000 + initial/final imbalance factor = 1 1 + x cuts: 0 0.5 1 + y cuts: 0 1 + z cuts: 0 1 +fix 0 all balance 10 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow ${factor} +fix 0 all balance 10 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow 1.0 + +fix 1 all nve + +#dump id all atom 50 dump.melt + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +thermo 50 +run 250 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.434 | 4.625 | 4.816 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137 + 50 0.49578514 -6.1929216 0 -5.4494298 -1.6668039 4738.2137 + 100 0.53275389 -6.2475932 0 -5.4486622 -1.9063885 4738.2137 + 150 0.53316457 -6.2483202 0 -5.4487733 -1.9476162 4738.2137 + 200 0.536665 -6.2530113 0 -5.448215 -1.933468 4738.2137 + 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 4738.2137 +Loop time of 0.925475 on 2 procs for 250 steps with 4000 atoms + +Performance: 116696.804 tau/day, 270.131 timesteps/s, 1.081 Matom-step/s +99.3% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.49759 | 0.59065 | 0.68371 | 12.1 | 63.82 +Neigh | 0.20391 | 0.21106 | 0.21821 | 1.6 | 22.81 +Comm | 0.016226 | 0.11642 | 0.21661 | 29.4 | 12.58 +Output | 0.00014767 | 0.00016136 | 0.00017504 | 0.0 | 0.02 +Modify | 0.0049562 | 0.0049875 | 0.0050188 | 0.0 | 0.54 +Other | | 0.002194 | | | 0.24 + +Nlocal: 2000 ave 2000 max 2000 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Nghost: 10441 ave 10457 max 10425 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 298332 ave 349156 max 247508 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 596664 +Ave neighs/atom = 149.166 +Neighbor list builds = 25 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/balance/log.3Nov23.balance.group.dynamic.g++.4 b/examples/balance/log.3Nov23.balance.group.dynamic.g++.4 new file mode 100644 index 0000000000..07b8dcf49e --- /dev/null +++ b/examples/balance/log.3Nov23.balance.group.dynamic.g++.4 @@ -0,0 +1,116 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +units lj +atom_style atomic +processors * 1 1 + +variable factor index 1.0 + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 3 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 4 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.000 seconds +mass * 1.0 + +region long block 3 6 0 10 0 10 +set region long type 2 +Setting atom values ... + 1400 settings made for type + +velocity all create 1.0 87287 + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 2.5 +pair_coeff * 2 1.0 1.0 5.0 + +neighbor 0.3 bin +neigh_modify every 2 delay 4 check yes + +group fast type 1 +2600 atoms in group fast +group slow type 2 +1400 atoms in group slow +balance 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow ${factor} # out weighted.txt +balance 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow 1.0 +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 2 steps, delay = 4 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.3 + ghost atom cutoff = 5.3 + binsize = 2.65, bins = 7 7 7 + 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 + bin: standard + rebalancing time: 0.000 seconds + iteration count = 2 + group weights: fast=1 slow=1 + initial/final maximal load/proc = 1200 1200 + initial/final imbalance factor = 1.2 1.2 + x cuts: 0 0.25 0.5 0.6875 1 + y cuts: 0 1 + z cuts: 0 1 +fix 0 all balance 10 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow ${factor} +fix 0 all balance 10 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow 1.0 + +fix 1 all nve + +#dump id all atom 50 dump.melt + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +thermo 50 +run 250 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.567 | 3.949 | 4.33 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137 + 50 0.48653399 -6.1788509 0 -5.4492324 -1.6017778 4738.2137 + 100 0.53411175 -6.249885 0 -5.4489177 -1.9317606 4738.2137 + 150 0.53646658 -6.2527206 0 -5.4482219 -1.9689568 4738.2137 + 200 0.54551611 -6.2656326 0 -5.4475631 -2.0042104 4738.2137 + 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 4738.2137 +Loop time of 0.805708 on 4 procs for 250 steps with 4000 atoms + +Performance: 134043.547 tau/day, 310.286 timesteps/s, 1.241 Matom-step/s +98.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.14028 | 0.36957 | 0.61955 | 31.5 | 45.87 +Neigh | 0.11839 | 0.13333 | 0.14552 | 3.2 | 16.55 +Comm | 0.034173 | 0.29629 | 0.5404 | 37.3 | 36.77 +Output | 0.00016223 | 0.00017113 | 0.00019287 | 0.0 | 0.02 +Modify | 0.0041243 | 0.0042239 | 0.0043322 | 0.1 | 0.52 +Other | | 0.002124 | | | 0.26 + +Nlocal: 1000 ave 1001 max 999 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Nghost: 8727 ave 8761 max 8674 min +Histogram: 1 0 0 0 0 0 1 1 0 1 +Neighs: 149349 ave 260848 max 51191 min +Histogram: 1 1 0 0 0 0 1 0 0 1 + +Total # of neighbors = 597396 +Ave neighs/atom = 149.349 +Neighbor list builds = 25 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/balance/log.3Nov23.balance.group.static.g++.2 b/examples/balance/log.3Nov23.balance.group.static.g++.2 new file mode 100644 index 0000000000..cc1652afc3 --- /dev/null +++ b/examples/balance/log.3Nov23.balance.group.static.g++.2 @@ -0,0 +1,160 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +units lj +atom_style atomic +processors * 1 1 + +variable factor index 1.0 + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 3 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 2 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.001 seconds +mass * 1.0 + +region long block 3 6 0 10 0 10 +set region long type 2 +Setting atom values ... + 1400 settings made for type + +velocity all create 1.0 87287 + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 2.5 +pair_coeff * 2 1.0 1.0 5.0 + +neighbor 0.3 bin +neigh_modify every 2 delay 4 check yes + +balance 1.0 shift x 5 1.1 # out unweighted.txt +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 2 steps, delay = 4 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.3 + ghost atom cutoff = 5.3 + binsize = 2.65, bins = 7 7 7 + 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 + bin: standard + rebalancing time: 0.001 seconds + iteration count = 1 + initial/final maximal load/proc = 2000 2000 + initial/final imbalance factor = 1 1 + x cuts: 0 0.5 1 + y cuts: 0 1 + z cuts: 0 1 + +balance 1.0 x uniform +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 0 + initial/final maximal load/proc = 2000 2000 + initial/final imbalance factor = 1 1 + x cuts: 0 0.5 1 + y cuts: 0 1 + z cuts: 0 1 + +variable weight atom (type==1)*1.0+(type==2)*v_factor +balance 1.0 shift x 5 1.1 weight var weight # out weighted_var.txt +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 1 + weight variable: weight + initial/final maximal load/proc = 2000 2000 + initial/final imbalance factor = 1 1 + x cuts: 0 0.5 1 + y cuts: 0 1 + z cuts: 0 1 + +balance 1.0 x uniform +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 0 + initial/final maximal load/proc = 2000 2000 + initial/final imbalance factor = 1 1 + x cuts: 0 0.5 1 + y cuts: 0 1 + z cuts: 0 1 + +group fast type 1 +2600 atoms in group fast +group slow type 2 +1400 atoms in group slow +balance 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow ${factor} # out weighted_group.txt +balance 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow 1.0 +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 1 + group weights: fast=1 slow=1 + initial/final maximal load/proc = 2000 2000 + initial/final imbalance factor = 1 1 + x cuts: 0 0.5 1 + y cuts: 0 1 + z cuts: 0 1 + +fix 1 all nve + +#dump id all atom 50 dump.melt + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +thermo 50 +run 250 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.294 | 4.485 | 4.675 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -6.9453205 0 -5.4456955 -5.6812358 + 50 0.49578514 -6.1929216 0 -5.4494298 -1.6668039 + 100 0.53275389 -6.2475932 0 -5.4486622 -1.9063885 + 150 0.53316457 -6.2483202 0 -5.4487733 -1.9476162 + 200 0.536665 -6.2530113 0 -5.448215 -1.933468 + 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 +Loop time of 1.07049 on 2 procs for 250 steps with 4000 atoms + +Performance: 100888.200 tau/day, 233.537 timesteps/s, 934.150 katom-step/s +99.4% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.55726 | 0.68002 | 0.80278 | 14.9 | 63.52 +Neigh | 0.21838 | 0.23004 | 0.2417 | 2.4 | 21.49 +Comm | 0.01941 | 0.15387 | 0.28832 | 34.3 | 14.37 +Output | 0.00017519 | 0.00021161 | 0.00024802 | 0.0 | 0.02 +Modify | 0.0036966 | 0.0037375 | 0.0037784 | 0.1 | 0.35 +Other | | 0.002623 | | | 0.25 + +Nlocal: 2000 ave 2051 max 1949 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 10443 ave 10506 max 10380 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 298332 ave 363449 max 233215 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 596664 +Ave neighs/atom = 149.166 +Neighbor list builds = 24 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/balance/log.3Nov23.balance.group.static.g++.4 b/examples/balance/log.3Nov23.balance.group.static.g++.4 new file mode 100644 index 0000000000..4d7c77071f --- /dev/null +++ b/examples/balance/log.3Nov23.balance.group.static.g++.4 @@ -0,0 +1,160 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +units lj +atom_style atomic +processors * 1 1 + +variable factor index 1.0 + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 3 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 4 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.000 seconds +mass * 1.0 + +region long block 3 6 0 10 0 10 +set region long type 2 +Setting atom values ... + 1400 settings made for type + +velocity all create 1.0 87287 + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 2.5 +pair_coeff * 2 1.0 1.0 5.0 + +neighbor 0.3 bin +neigh_modify every 2 delay 4 check yes + +balance 1.0 shift x 5 1.1 # out unweighted.txt +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 2 steps, delay = 4 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.3 + ghost atom cutoff = 5.3 + binsize = 2.65, bins = 7 7 7 + 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 + bin: standard + rebalancing time: 0.000 seconds + iteration count = 2 + initial/final maximal load/proc = 1200 1200 + initial/final imbalance factor = 1.2 1.2 + x cuts: 0 0.25 0.5 0.6875 1 + y cuts: 0 1 + z cuts: 0 1 + +balance 1.0 x uniform +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 0 + initial/final maximal load/proc = 1200 1200 + initial/final imbalance factor = 1.2 1.2 + x cuts: 0 0.25 0.5 0.75 1 + y cuts: 0 1 + z cuts: 0 1 + +variable weight atom (type==1)*1.0+(type==2)*v_factor +balance 1.0 shift x 5 1.1 weight var weight # out weighted_var.txt +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 2 + weight variable: weight + initial/final maximal load/proc = 1200 1200 + initial/final imbalance factor = 1.2 1.2 + x cuts: 0 0.25 0.5 0.6875 1 + y cuts: 0 1 + z cuts: 0 1 + +balance 1.0 x uniform +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 0 + initial/final maximal load/proc = 1200 1200 + initial/final imbalance factor = 1.2 1.2 + x cuts: 0 0.25 0.5 0.75 1 + y cuts: 0 1 + z cuts: 0 1 + +group fast type 1 +2600 atoms in group fast +group slow type 2 +1400 atoms in group slow +balance 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow ${factor} # out weighted_group.txt +balance 1.0 shift x 5 1.1 weight group 2 fast 1.0 slow 1.0 +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 2 + group weights: fast=1 slow=1 + initial/final maximal load/proc = 1200 1200 + initial/final imbalance factor = 1.2 1.2 + x cuts: 0 0.25 0.5 0.6875 1 + y cuts: 0 1 + z cuts: 0 1 + +fix 1 all nve + +#dump id all atom 50 dump.melt + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +thermo 50 +run 250 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.427 | 3.713 | 4.19 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -6.9453205 0 -5.4456955 -5.6812358 + 50 0.48653399 -6.1788509 0 -5.4492324 -1.6017778 + 100 0.53411175 -6.249885 0 -5.4489177 -1.9317606 + 150 0.53646658 -6.2527206 0 -5.4482219 -1.9689568 + 200 0.54551611 -6.2656326 0 -5.4475631 -2.0042104 + 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 +Loop time of 0.927365 on 4 procs for 250 steps with 4000 atoms + +Performance: 116459.057 tau/day, 269.581 timesteps/s, 1.078 Matom-step/s +98.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.24625 | 0.41858 | 0.73449 | 30.7 | 45.14 +Neigh | 0.10809 | 0.14016 | 0.16724 | 6.7 | 15.11 +Comm | 0.025406 | 0.36335 | 0.55279 | 34.1 | 39.18 +Output | 0.00017675 | 0.00019894 | 0.00022697 | 0.0 | 0.02 +Modify | 0.0016956 | 0.0023554 | 0.0031138 | 1.1 | 0.25 +Other | | 0.002723 | | | 0.29 + +Nlocal: 1000 ave 1263 max 712 min +Histogram: 1 0 0 0 1 0 1 0 0 1 +Nghost: 8711.5 ave 9045 max 8325 min +Histogram: 1 0 0 0 0 1 1 0 0 1 +Neighs: 149325 ave 275165 max 77227 min +Histogram: 2 0 0 0 1 0 0 0 0 1 + +Total # of neighbors = 597299 +Ave neighs/atom = 149.32475 +Neighbor list builds = 23 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/balance/log.3Nov23.balance.kspace.g++.2 b/examples/balance/log.3Nov23.balance.kspace.g++.2 new file mode 100644 index 0000000000..b7c16fb82a --- /dev/null +++ b/examples/balance/log.3Nov23.balance.kspace.g++.2 @@ -0,0 +1,120 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +units lj +#atom_style charge +processors * 1 1 + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 3 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 2 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.001 seconds +mass * 1.0 + +region long block 3 6 0 10 0 10 +set region long type 2 +Setting atom values ... + 1400 settings made for type +#set type 1:2 charge 0.0 + +velocity all create 1.0 87287 + +pair_style lj/long/coul/long long off 2.5 +pair_coeff * * 1.0 1.0 2.5 +pair_coeff * 2 1.0 1.0 5.0 + +kspace_style pppm/disp 1.0e-4 +kspace_modify gewald/disp 0.1 + +neighbor 0.3 bin +neigh_modify every 2 delay 4 check yes + +group fast type 1 +2600 atoms in group fast +group slow type 2 +1400 atoms in group slow +fix 0 all balance 20 1.0 shift x 5 1.0 weight group 2 fast 1.0 slow 2.0 weight time 0.66 + +fix 1 all nve + +#dump id all atom 50 dump.melt + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +thermo 50 +run 500 +PPPMDisp initialization ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + Dispersion G vector (1/distance)= 0.1 + Dispersion grid = 2 2 2 + Dispersion stencil order = 5 + Dispersion estimated absolute RMS force accuracy = 1.0125082 + Dispersion estimated relative force accuracy = 1.0125082 + using double precision FFTW3 + 3d grid and FFT values/proc = 294 4 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 2 steps, delay = 4 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.3 + ghost atom cutoff = 5.3 + binsize = 2.65, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/long/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.847 | 5.016 | 5.184 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 0 1 52.148338 0 53.647963 94.09503 4738.2137 + 50 17.747599 42.836975 0 69.451719 143.44398 4738.2137 + 100 9.0390947 49.78615 0 63.341402 117.79296 4738.2137 + 150 13.456072 47.810527 0 67.989589 140.52068 4738.2137 + 200 11.358932 52.542448 0 69.576586 142.87196 4738.2137 + 250 13.204593 48.601438 0 68.403376 134.97484 4738.2137 + 300 12.062011 50.642183 0 68.730677 133.27085 4738.2137 + 350 14.102561 50.203717 0 71.35227 143.56297 4738.2137 + 400 12.040871 50.230441 0 68.287232 132.11937 4738.2137 + 450 13.381968 51.111601 0 71.179535 144.53303 4738.2137 + 500 12.899157 50.248902 0 69.5928 136.59639 4738.2137 +Loop time of 3.74212 on 2 procs for 500 steps with 4000 atoms + +Performance: 57721.346 tau/day, 133.614 timesteps/s, 534.457 katom-step/s +99.4% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.6146 | 1.7284 | 1.8423 | 8.7 | 46.19 +Kspace | 0.56305 | 0.61569 | 0.66833 | 6.7 | 16.45 +Neigh | 1.2338 | 1.3029 | 1.372 | 6.1 | 34.82 +Comm | 0.059727 | 0.067883 | 0.076039 | 3.1 | 1.81 +Output | 0.00031007 | 0.00033894 | 0.0003678 | 0.0 | 0.01 +Modify | 0.020232 | 0.020653 | 0.021073 | 0.3 | 0.55 +Other | | 0.006259 | | | 0.17 + +Nlocal: 2000 ave 2314 max 1686 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 9546 ave 9663 max 9429 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 254558 ave 277593 max 231523 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 509116 +Ave neighs/atom = 127.279 +Neighbor list builds = 124 +Dangerous builds = 97 +Total wall time: 0:00:03 diff --git a/examples/balance/log.3Nov23.balance.kspace.g++.4 b/examples/balance/log.3Nov23.balance.kspace.g++.4 new file mode 100644 index 0000000000..46e4bbbf94 --- /dev/null +++ b/examples/balance/log.3Nov23.balance.kspace.g++.4 @@ -0,0 +1,120 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +units lj +#atom_style charge +processors * 1 1 + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 3 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 4 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.000 seconds +mass * 1.0 + +region long block 3 6 0 10 0 10 +set region long type 2 +Setting atom values ... + 1400 settings made for type +#set type 1:2 charge 0.0 + +velocity all create 1.0 87287 + +pair_style lj/long/coul/long long off 2.5 +pair_coeff * * 1.0 1.0 2.5 +pair_coeff * 2 1.0 1.0 5.0 + +kspace_style pppm/disp 1.0e-4 +kspace_modify gewald/disp 0.1 + +neighbor 0.3 bin +neigh_modify every 2 delay 4 check yes + +group fast type 1 +2600 atoms in group fast +group slow type 2 +1400 atoms in group slow +fix 0 all balance 20 1.0 shift x 5 1.0 weight group 2 fast 1.0 slow 2.0 weight time 0.66 + +fix 1 all nve + +#dump id all atom 50 dump.melt + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +thermo 50 +run 500 +PPPMDisp initialization ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + Dispersion G vector (1/distance)= 0.1 + Dispersion grid = 2 2 2 + Dispersion stencil order = 5 + Dispersion estimated absolute RMS force accuracy = 1.0125082 + Dispersion estimated relative force accuracy = 1.0125082 + using double precision FFTW3 + 3d grid and FFT values/proc = 294 4 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 2 steps, delay = 4 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.3 + ghost atom cutoff = 5.3 + binsize = 2.65, bins = 7 7 7 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/long/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.293 | 4.424 | 4.655 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 0 1 52.148338 0 53.647963 94.09503 4738.2137 + 50 17.850656 42.620113 0 69.389403 142.80556 4738.2137 + 100 9.4607189 49.700118 0 63.887649 117.51739 4738.2137 + 150 13.992056 47.731988 0 68.714825 140.56926 4738.2137 + 200 11.617635 52.509395 0 69.931491 142.6933 4738.2137 + 250 13.536262 48.330072 0 68.629389 133.91619 4738.2137 + 300 12.620066 50.328874 0 69.25424 132.46908 4738.2137 + 350 14.514428 50.102816 0 71.869016 143.37224 4738.2137 + 400 12.348652 49.810405 0 68.328752 130.3274 4738.2137 + 450 13.800185 50.987433 0 71.682536 144.38181 4738.2137 + 500 13.255019 50.64398 0 70.521538 138.24387 4738.2137 +Loop time of 3.81152 on 4 procs for 500 steps with 4000 atoms + +Performance: 56670.269 tau/day, 131.181 timesteps/s, 524.725 katom-step/s +98.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.55832 | 1.1319 | 1.6826 | 48.2 | 29.70 +Kspace | 0.40554 | 1.6212 | 2.7162 | 80.5 | 42.53 +Neigh | 0.25726 | 0.85075 | 1.6088 | 63.7 | 22.32 +Comm | 0.079895 | 0.17554 | 0.24986 | 17.5 | 4.61 +Output | 0.00035922 | 0.00041828 | 0.00044719 | 0.0 | 0.01 +Modify | 0.02199 | 0.024073 | 0.026861 | 1.3 | 0.63 +Other | | 0.007582 | | | 0.20 + +Nlocal: 1000 ave 1995 max 227 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 7601 ave 9326 max 5900 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 127284 ave 212972 max 45553 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 509136 +Ave neighs/atom = 127.284 +Neighbor list builds = 124 +Dangerous builds = 97 +Total wall time: 0:00:03 diff --git a/examples/balance/log.3Nov23.balance.neigh.dynamic.g++.2 b/examples/balance/log.3Nov23.balance.neigh.dynamic.g++.2 new file mode 100644 index 0000000000..58ff4bea6a --- /dev/null +++ b/examples/balance/log.3Nov23.balance.neigh.dynamic.g++.2 @@ -0,0 +1,235 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +units lj +atom_style atomic +processors * 1 1 + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 3 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 2 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.001 seconds +mass * 1.0 + +region long block 3 6 0 10 0 10 +set region long type 2 +Setting atom values ... + 1400 settings made for type + +velocity all create 1.0 87287 + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 2.5 +pair_coeff * 2 1.0 1.0 5.0 + +neighbor 0.3 bin +neigh_modify every 2 delay 4 check yes +fix p all property/atom d_WEIGHT +fix 0 all balance 50 1.0 shift x 5 1.0 weight neigh 0.8 weight store WEIGHT +compute p all property/atom d_WEIGHT +variable maximb equal f_0[1] +variable iter equal f_0[2] +variable prev equal f_0[3] +variable final equal f_0 + +#fix 3 all print 50 "${iter} ${prev} ${final} ${maximb}" + +fix 1 all nve + +#dump id all atom 50 dump.melt +#dump id all custom 50 dump.lammpstrj id type x y z c_p + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mp4 c_p type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 amap 0.0 2.0 cf 0.1 3 min blue 0.5 green max red + +thermo 50 +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 2 steps, delay = 4 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.3 + ghost atom cutoff = 5.3 + binsize = 2.65, bins = 7 7 7 + 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 + bin: standard +WARNING: Balance weight neigh skipped b/c no suitable list found (src/imbalance_neigh.cpp:65) +Per MPI rank memory allocation (min/avg/max) = 4.559 | 4.75 | 4.941 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137 + 50 0.49578514 -6.1929216 0 -5.4494298 -1.6668039 4738.2137 + 100 0.53275389 -6.2475932 0 -5.4486622 -1.9063885 4738.2137 + 150 0.53316457 -6.2483202 0 -5.4487733 -1.9476162 4738.2137 + 200 0.536665 -6.2530113 0 -5.448215 -1.933468 4738.2137 + 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 4738.2137 + 300 0.55111476 -6.2727642 0 -5.4462987 -2.0384873 4738.2137 + 350 0.55211503 -6.274054 0 -5.4460885 -2.0116976 4738.2137 + 400 0.54638463 -6.2661715 0 -5.4467995 -1.992248 4738.2137 + 450 0.55885307 -6.2852263 0 -5.4471563 -2.0669747 4738.2137 + 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 4738.2137 +Loop time of 2.06018 on 2 procs for 500 steps with 4000 atoms + +Performance: 104845.132 tau/day, 242.697 timesteps/s, 970.788 katom-step/s +99.6% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.2219 | 1.3634 | 1.505 | 12.1 | 66.18 +Neigh | 0.49695 | 0.4983 | 0.49965 | 0.2 | 24.19 +Comm | 0.041095 | 0.18389 | 0.32669 | 33.3 | 8.93 +Output | 0.00032321 | 0.00035487 | 0.00038653 | 0.0 | 0.02 +Modify | 0.0084967 | 0.0087312 | 0.0089658 | 0.3 | 0.42 +Other | | 0.005469 | | | 0.27 + +Nlocal: 2000 ave 2056 max 1944 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 10457.5 ave 10508 max 10407 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 298070 ave 333007 max 263132 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 596139 +Ave neighs/atom = 149.03475 +Neighbor list builds = 51 +Dangerous builds = 0 +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.571 | 4.758 | 4.945 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 4738.2137 + 550 0.54137926 -6.2592773 0 -5.4474115 -1.9770236 4738.2137 + 600 0.54022886 -6.2573307 0 -5.44719 -1.9619637 4738.2137 + 650 0.54709009 -6.2678862 0 -5.4474562 -1.9958342 4738.2137 + 700 0.54590044 -6.2656903 0 -5.4470444 -1.9957108 4738.2137 + 750 0.55098488 -6.2724831 0 -5.4462124 -2.0287523 4738.2137 + 800 0.5520987 -6.2739184 0 -5.4459774 -2.0084991 4738.2137 + 850 0.54963958 -6.2702473 0 -5.445994 -1.9740031 4738.2137 + 900 0.54390586 -6.2615476 0 -5.4458927 -1.9400871 4738.2137 + 950 0.54741732 -6.2665755 0 -5.4456548 -1.9466417 4738.2137 + 1000 0.54200867 -6.2591246 0 -5.4463148 -1.8881624 4738.2137 +Loop time of 2.04735 on 2 procs for 500 steps with 4000 atoms + +Performance: 105502.372 tau/day, 244.218 timesteps/s, 976.874 katom-step/s +99.5% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.2217 | 1.3603 | 1.4989 | 11.9 | 66.44 +Neigh | 0.49705 | 0.49793 | 0.49882 | 0.1 | 24.32 +Comm | 0.036988 | 0.17466 | 0.31233 | 32.9 | 8.53 +Output | 0.00031921 | 0.00035316 | 0.00038711 | 0.0 | 0.02 +Modify | 0.0084606 | 0.0086808 | 0.0089009 | 0.2 | 0.42 +Other | | 0.005397 | | | 0.26 + +Nlocal: 2000 ave 2049 max 1951 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 10389 ave 10436 max 10342 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 300836 ave 335987 max 265684 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 601671 +Ave neighs/atom = 150.41775 +Neighbor list builds = 51 +Dangerous builds = 0 +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.571 | 4.758 | 4.945 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 1000 0.54200867 -6.2591246 0 -5.4463148 -1.8881624 4738.2137 + 1050 0.54633412 -6.2656384 0 -5.4463421 -1.9012895 4738.2137 + 1100 0.54325667 -6.2612166 0 -5.4465353 -1.8870463 4738.2137 + 1150 0.55057583 -6.2719187 0 -5.4462614 -1.9575881 4738.2137 + 1200 0.53728175 -6.251744 0 -5.4460228 -1.8124097 4738.2137 + 1250 0.54077561 -6.2567544 0 -5.4457938 -1.8418134 4738.2137 + 1300 0.54430333 -6.260995 0 -5.4447442 -1.856351 4738.2137 + 1350 0.55097839 -6.2715909 0 -5.4453299 -1.9014337 4738.2137 + 1400 0.53858139 -6.2526781 0 -5.445008 -1.7965773 4738.2137 + 1450 0.5421844 -6.2574683 0 -5.444395 -1.7901189 4738.2137 + 1500 0.54200617 -6.2571433 0 -5.4443373 -1.8000344 4738.2137 +Loop time of 2.06014 on 2 procs for 500 steps with 4000 atoms + +Performance: 104847.028 tau/day, 242.701 timesteps/s, 970.806 katom-step/s +99.3% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.2169 | 1.3632 | 1.5094 | 12.5 | 66.17 +Neigh | 0.49211 | 0.49613 | 0.50014 | 0.6 | 24.08 +Comm | 0.03623 | 0.18643 | 0.33662 | 34.8 | 9.05 +Output | 0.00030992 | 0.00034406 | 0.00037821 | 0.0 | 0.02 +Modify | 0.0085349 | 0.0086823 | 0.0088298 | 0.2 | 0.42 +Other | | 0.005411 | | | 0.26 + +Nlocal: 2000 ave 2034 max 1966 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 10386 ave 10936 max 9836 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 302958 ave 337188 max 268729 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 605917 +Ave neighs/atom = 151.47925 +Neighbor list builds = 51 +Dangerous builds = 0 +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.571 | 4.758 | 4.945 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 1500 0.54200617 -6.2571433 0 -5.4443373 -1.8000344 4738.2137 + 1550 0.53713593 -6.2504069 0 -5.4449044 -1.764709 4738.2137 + 1600 0.54679556 -6.2646482 0 -5.4446599 -1.8115775 4738.2137 + 1650 0.53806577 -6.2519006 0 -5.4450037 -1.7409142 4738.2137 + 1700 0.5347951 -6.2468962 0 -5.4449041 -1.7162331 4738.2137 + 1750 0.53714568 -6.2506577 0 -5.4451406 -1.7340499 4738.2137 + 1800 0.52749839 -6.2358664 0 -5.4448167 -1.6874961 4738.2137 + 1850 0.54585956 -6.2629394 0 -5.4443547 -1.7758764 4738.2137 + 1900 0.53010831 -6.2387561 0 -5.4437925 -1.6381825 4738.2137 + 1950 0.54288557 -6.2583073 0 -5.4441826 -1.7368524 4738.2137 + 2000 0.52765923 -6.2348572 0 -5.4435663 -1.5588839 4738.2137 +Loop time of 2.11629 on 2 procs for 500 steps with 4000 atoms + +Performance: 102065.604 tau/day, 236.263 timesteps/s, 945.052 katom-step/s +99.5% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.2677 | 1.4112 | 1.5546 | 12.1 | 66.68 +Neigh | 0.50555 | 0.50815 | 0.51076 | 0.4 | 24.01 +Comm | 0.036017 | 0.18186 | 0.3277 | 34.2 | 8.59 +Output | 0.00034146 | 0.00036996 | 0.00039846 | 0.0 | 0.02 +Modify | 0.0089519 | 0.0090956 | 0.0092392 | 0.2 | 0.43 +Other | | 0.005624 | | | 0.27 + +Nlocal: 2000 ave 2031 max 1969 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 10334 ave 10921 max 9747 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 303988 ave 338808 max 269168 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 607976 +Ave neighs/atom = 151.994 +Neighbor list builds = 51 +Dangerous builds = 0 + +Total wall time: 0:00:08 diff --git a/examples/balance/log.3Nov23.balance.neigh.dynamic.g++.4 b/examples/balance/log.3Nov23.balance.neigh.dynamic.g++.4 new file mode 100644 index 0000000000..c232f64447 --- /dev/null +++ b/examples/balance/log.3Nov23.balance.neigh.dynamic.g++.4 @@ -0,0 +1,235 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +units lj +atom_style atomic +processors * 1 1 + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 3 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 4 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.000 seconds +mass * 1.0 + +region long block 3 6 0 10 0 10 +set region long type 2 +Setting atom values ... + 1400 settings made for type + +velocity all create 1.0 87287 + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 2.5 +pair_coeff * 2 1.0 1.0 5.0 + +neighbor 0.3 bin +neigh_modify every 2 delay 4 check yes +fix p all property/atom d_WEIGHT +fix 0 all balance 50 1.0 shift x 5 1.0 weight neigh 0.8 weight store WEIGHT +compute p all property/atom d_WEIGHT +variable maximb equal f_0[1] +variable iter equal f_0[2] +variable prev equal f_0[3] +variable final equal f_0 + +#fix 3 all print 50 "${iter} ${prev} ${final} ${maximb}" + +fix 1 all nve + +#dump id all atom 50 dump.melt +#dump id all custom 50 dump.lammpstrj id type x y z c_p + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mp4 c_p type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 amap 0.0 2.0 cf 0.1 3 min blue 0.5 green max red + +thermo 50 +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 2 steps, delay = 4 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.3 + ghost atom cutoff = 5.3 + binsize = 2.65, bins = 7 7 7 + 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 + bin: standard +WARNING: Balance weight neigh skipped b/c no suitable list found (src/imbalance_neigh.cpp:65) +Per MPI rank memory allocation (min/avg/max) = 3.692 | 4.073 | 4.455 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137 + 50 0.48653399 -6.1788509 0 -5.4492324 -1.6017778 4738.2137 + 100 0.53411175 -6.249885 0 -5.4489177 -1.9317606 4738.2137 + 150 0.53646658 -6.2527206 0 -5.4482219 -1.9689568 4738.2137 + 200 0.54551611 -6.2656326 0 -5.4475631 -2.0042104 4738.2137 + 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 4738.2137 + 300 0.5477618 -6.2678071 0 -5.4463698 -1.997842 4738.2137 + 350 0.55600296 -6.2801497 0 -5.4463538 -2.0394056 4738.2137 + 400 0.53241503 -6.2453665 0 -5.4469436 -1.878594 4738.2137 + 450 0.5439158 -6.2623 0 -5.4466302 -1.9744161 4738.2137 + 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 4738.2137 +Loop time of 1.55023 on 4 procs for 500 steps with 4000 atoms + +Performance: 139333.812 tau/day, 322.532 timesteps/s, 1.290 Matom-step/s +98.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.71992 | 0.87383 | 0.98696 | 11.0 | 56.37 +Neigh | 0.21071 | 0.30874 | 0.44041 | 17.8 | 19.92 +Comm | 0.32187 | 0.35451 | 0.38467 | 4.4 | 22.87 +Output | 0.00037371 | 0.00042 | 0.00044758 | 0.0 | 0.03 +Modify | 0.0049391 | 0.0063638 | 0.0082893 | 1.8 | 0.41 +Other | | 0.006361 | | | 0.41 + +Nlocal: 1000 ave 1549 max 605 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +Nghost: 8755 ave 9851 max 8071 min +Histogram: 2 0 0 0 0 1 0 0 0 1 +Neighs: 149308 ave 164554 max 128538 min +Histogram: 1 0 0 1 0 0 0 0 0 2 + +Total # of neighbors = 597231 +Ave neighs/atom = 149.30775 +Neighbor list builds = 50 +Dangerous builds = 0 +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.099 | 4.288 | 4.477 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 4738.2137 + 550 0.53879347 -6.2554274 0 -5.4474393 -1.9756834 4738.2137 + 600 0.54275982 -6.2616799 0 -5.4477437 -1.9939993 4738.2137 + 650 0.54526651 -6.265098 0 -5.4474027 -2.0303672 4738.2137 + 700 0.54369381 -6.263201 0 -5.4478642 -1.9921967 4738.2137 + 750 0.54452777 -6.2640839 0 -5.4474964 -1.9658675 4738.2137 + 800 0.55061744 -6.2725556 0 -5.4468359 -2.0100922 4738.2137 + 850 0.55371614 -6.2763992 0 -5.4460326 -2.0065329 4738.2137 + 900 0.54756622 -6.2668303 0 -5.4456863 -1.9796122 4738.2137 + 950 0.54791593 -6.2673161 0 -5.4456477 -1.9598278 4738.2137 + 1000 0.54173198 -6.2586101 0 -5.4462153 -1.9007466 4738.2137 +Loop time of 1.67278 on 4 procs for 500 steps with 4000 atoms + +Performance: 129126.174 tau/day, 298.903 timesteps/s, 1.196 Matom-step/s +99.1% 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.84049 | 0.96125 | 1.0434 | 8.0 | 57.46 +Neigh | 0.23438 | 0.35614 | 0.5167 | 20.4 | 21.29 +Comm | 0.28073 | 0.34108 | 0.41025 | 9.1 | 20.39 +Output | 0.00039366 | 0.00043302 | 0.00046464 | 0.0 | 0.03 +Modify | 0.0050479 | 0.006849 | 0.0091921 | 2.2 | 0.41 +Other | | 0.007028 | | | 0.42 + +Nlocal: 1000 ave 1569 max 595 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +Nghost: 8715.25 ave 9779 max 8018 min +Histogram: 2 0 0 0 0 1 0 0 0 1 +Neighs: 150170 ave 163282 max 132114 min +Histogram: 1 0 0 1 0 0 0 0 0 2 + +Total # of neighbors = 600678 +Ave neighs/atom = 150.1695 +Neighbor list builds = 53 +Dangerous builds = 0 +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.099 | 4.288 | 4.477 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 1000 0.54173198 -6.2586101 0 -5.4462153 -1.9007466 4738.2137 + 1050 0.54629742 -6.2657526 0 -5.4465113 -1.945821 4738.2137 + 1100 0.55427881 -6.2781733 0 -5.446963 -2.0021027 4738.2137 + 1150 0.54730654 -6.267257 0 -5.4465025 -1.9420678 4738.2137 + 1200 0.5388281 -6.2547963 0 -5.4467562 -1.890178 4738.2137 + 1250 0.54848768 -6.2694237 0 -5.4468979 -1.9636797 4738.2137 + 1300 0.54134321 -6.2590728 0 -5.447261 -1.9170271 4738.2137 + 1350 0.53564389 -6.2501521 0 -5.4468871 -1.8642306 4738.2137 + 1400 0.53726924 -6.2518379 0 -5.4461355 -1.8544028 4738.2137 + 1450 0.54525935 -6.2632653 0 -5.4455808 -1.9072158 4738.2137 + 1500 0.54223346 -6.2591057 0 -5.4459588 -1.8866985 4738.2137 +Loop time of 1.66639 on 4 procs for 500 steps with 4000 atoms + +Performance: 129621.198 tau/day, 300.049 timesteps/s, 1.200 Matom-step/s +99.1% 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.8486 | 0.96611 | 1.1004 | 9.8 | 57.98 +Neigh | 0.22624 | 0.34016 | 0.49564 | 19.9 | 20.41 +Comm | 0.3065 | 0.34614 | 0.41937 | 7.4 | 20.77 +Output | 0.00040364 | 0.00043928 | 0.00051275 | 0.0 | 0.03 +Modify | 0.0049921 | 0.0067008 | 0.008971 | 2.1 | 0.40 +Other | | 0.00684 | | | 0.41 + +Nlocal: 1000 ave 1543 max 605 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +Nghost: 8704.5 ave 9803 max 7983 min +Histogram: 2 0 0 0 0 1 0 0 0 1 +Neighs: 150494 ave 166334 max 129306 min +Histogram: 1 0 0 1 0 0 0 0 0 2 + +Total # of neighbors = 601974 +Ave neighs/atom = 150.4935 +Neighbor list builds = 51 +Dangerous builds = 0 +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.099 | 4.288 | 4.477 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 1500 0.54223346 -6.2591057 0 -5.4459588 -1.8866985 4738.2137 + 1550 0.55327018 -6.2750126 0 -5.4453148 -1.9506585 4738.2137 + 1600 0.54419004 -6.2612622 0 -5.4451812 -1.8559437 4738.2137 + 1650 0.54710034 -6.2661938 0 -5.4457484 -1.8882763 4738.2137 + 1700 0.53665691 -6.2504958 0 -5.4457117 -1.8068009 4738.2137 + 1750 0.5486471 -6.2681127 0 -5.4453478 -1.8662656 4738.2137 + 1800 0.54476222 -6.2615086 0 -5.4445695 -1.8352838 4738.2137 + 1850 0.54143048 -6.2555517 0 -5.443609 -1.8005726 4738.2137 + 1900 0.53992511 -6.254136 0 -5.4444508 -1.7768715 4738.2137 + 1950 0.54665895 -6.2640958 0 -5.4443124 -1.7946993 4738.2137 + 2000 0.5455751 -6.2625337 0 -5.4443756 -1.8072242 4738.2137 +Loop time of 1.69092 on 4 procs for 500 steps with 4000 atoms + +Performance: 127741.463 tau/day, 295.698 timesteps/s, 1.183 Matom-step/s +99.1% 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.85108 | 0.9612 | 1.0789 | 9.0 | 56.85 +Neigh | 0.2452 | 0.37468 | 0.5456 | 20.7 | 22.16 +Comm | 0.27839 | 0.34103 | 0.42333 | 9.0 | 20.17 +Output | 0.00038835 | 0.00042678 | 0.00046578 | 0.0 | 0.03 +Modify | 0.0049259 | 0.0067032 | 0.0090783 | 2.2 | 0.40 +Other | | 0.006874 | | | 0.41 + +Nlocal: 1000 ave 1539 max 607 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +Nghost: 8677 ave 9837 max 7981 min +Histogram: 2 0 0 0 1 0 0 0 0 1 +Neighs: 151655 ave 168263 max 129443 min +Histogram: 1 0 0 1 0 0 0 0 0 2 + +Total # of neighbors = 606619 +Ave neighs/atom = 151.65475 +Neighbor list builds = 56 +Dangerous builds = 0 + +Total wall time: 0:00:06 diff --git a/examples/balance/log.3Nov23.balance.neigh.rcb.g++.2 b/examples/balance/log.3Nov23.balance.neigh.rcb.g++.2 new file mode 100644 index 0000000000..0bbfe645ba --- /dev/null +++ b/examples/balance/log.3Nov23.balance.neigh.rcb.g++.2 @@ -0,0 +1,146 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +units lj +atom_style atomic +processors * 1 1 + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 3 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 2 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.001 seconds +mass * 1.0 + +region long block 3 6 0 10 0 10 +set region long type 2 +Setting atom values ... + 1400 settings made for type + +velocity all create 1.0 87287 + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 2.5 +pair_coeff * 2 1.0 1.0 5.0 + +comm_style tiled + +neighbor 0.3 bin +neigh_modify every 2 delay 4 check yes +fix p all property/atom d_WEIGHT +fix 0 all balance 50 1.0 rcb weight neigh 0.8 weight store WEIGHT +compute p all property/atom d_WEIGHT +variable maximb equal f_0[1] +variable iter equal f_0[2] +variable prev equal f_0[3] +variable final equal f_0 + +#fix 3 all print 50 "${iter} ${prev} ${final} ${maximb}" + +fix 1 all nve + +#dump id all atom 50 dump.melt +#dump id all custom 50 dump.lammpstrj id type x y z c_p + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +thermo 50 + +run 250 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 2 steps, delay = 4 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.3 + ghost atom cutoff = 5.3 + binsize = 2.65, bins = 7 7 7 + 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 + bin: standard +WARNING: Balance weight neigh skipped b/c no suitable list found (src/imbalance_neigh.cpp:65) +Per MPI rank memory allocation (min/avg/max) = 4.138 | 4.329 | 4.52 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137 + 50 0.49578514 -6.1929216 0 -5.4494298 -1.6668039 4738.2137 + 100 0.53275389 -6.2475932 0 -5.4486622 -1.9063885 4738.2137 + 150 0.53316457 -6.2483202 0 -5.4487733 -1.9476162 4738.2137 + 200 0.536665 -6.2530113 0 -5.448215 -1.933468 4738.2137 + 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 4738.2137 +Loop time of 0.963489 on 2 procs for 250 steps with 4000 atoms + +Performance: 112092.660 tau/day, 259.474 timesteps/s, 1.038 Matom-step/s +97.7% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.64566 | 0.66162 | 0.67758 | 2.0 | 68.67 +Neigh | 0.23969 | 0.24019 | 0.24069 | 0.1 | 24.93 +Comm | 0.037375 | 0.052867 | 0.068358 | 6.7 | 5.49 +Output | 0.0001635 | 0.00017861 | 0.00019372 | 0.0 | 0.02 +Modify | 0.0055964 | 0.0056409 | 0.0056853 | 0.1 | 0.59 +Other | | 0.002991 | | | 0.31 + +Nlocal: 2000 ave 2000 max 2000 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Nghost: 10412.5 ave 10414 max 10411 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 298332 ave 299797 max 296867 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 596664 +Ave neighs/atom = 149.166 +Neighbor list builds = 25 +Dangerous builds = 0 +run 250 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.932 | 4.933 | 4.933 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 4738.2137 + 300 0.55111476 -6.2727642 0 -5.4462987 -2.0384873 4738.2137 + 350 0.55211503 -6.274054 0 -5.4460885 -2.0116976 4738.2137 + 400 0.54638463 -6.2661715 0 -5.4467995 -1.992248 4738.2137 + 450 0.55885307 -6.2852263 0 -5.4471563 -2.0669747 4738.2137 + 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 4738.2137 +Loop time of 0.986357 on 2 procs for 250 steps with 4000 atoms + +Performance: 109493.776 tau/day, 253.458 timesteps/s, 1.014 Matom-step/s +99.4% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.68342 | 0.68352 | 0.68362 | 0.0 | 69.30 +Neigh | 0.25726 | 0.25795 | 0.25864 | 0.1 | 26.15 +Comm | 0.035415 | 0.036212 | 0.037009 | 0.4 | 3.67 +Output | 0.00016727 | 0.00018288 | 0.00019849 | 0.0 | 0.02 +Modify | 0.0054242 | 0.005429 | 0.0054338 | 0.0 | 0.55 +Other | | 0.003066 | | | 0.31 + +Nlocal: 2000 ave 2000 max 2000 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Nghost: 10466.5 ave 10470 max 10463 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 298070 ave 349236 max 246903 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 596139 +Ave neighs/atom = 149.03475 +Neighbor list builds = 26 +Dangerous builds = 0 + +Total wall time: 0:00:02 diff --git a/examples/balance/log.3Nov23.balance.neigh.rcb.g++.4 b/examples/balance/log.3Nov23.balance.neigh.rcb.g++.4 new file mode 100644 index 0000000000..5a31737dc5 --- /dev/null +++ b/examples/balance/log.3Nov23.balance.neigh.rcb.g++.4 @@ -0,0 +1,146 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +units lj +atom_style atomic +processors * 1 1 + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 3 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 4 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.000 seconds +mass * 1.0 + +region long block 3 6 0 10 0 10 +set region long type 2 +Setting atom values ... + 1400 settings made for type + +velocity all create 1.0 87287 + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 2.5 +pair_coeff * 2 1.0 1.0 5.0 + +comm_style tiled + +neighbor 0.3 bin +neigh_modify every 2 delay 4 check yes +fix p all property/atom d_WEIGHT +fix 0 all balance 50 1.0 rcb weight neigh 0.8 weight store WEIGHT +compute p all property/atom d_WEIGHT +variable maximb equal f_0[1] +variable iter equal f_0[2] +variable prev equal f_0[3] +variable final equal f_0 + +#fix 3 all print 50 "${iter} ${prev} ${final} ${maximb}" + +fix 1 all nve + +#dump id all atom 50 dump.melt +#dump id all custom 50 dump.lammpstrj id type x y z c_p + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +thermo 50 + +run 250 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 2 steps, delay = 4 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.3 + ghost atom cutoff = 5.3 + binsize = 2.65, bins = 7 7 7 + 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 + bin: standard +WARNING: Balance weight neigh skipped b/c no suitable list found (src/imbalance_neigh.cpp:65) +Per MPI rank memory allocation (min/avg/max) = 3.91 | 3.917 | 3.922 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137 + 50 0.48653399 -6.1788509 0 -5.4492324 -1.6017778 4738.2137 + 100 0.53411175 -6.249885 0 -5.4489177 -1.9317606 4738.2137 + 150 0.53646658 -6.2527206 0 -5.4482219 -1.9689568 4738.2137 + 200 0.54551611 -6.2656326 0 -5.4475631 -2.0042104 4738.2137 + 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 4738.2137 +Loop time of 0.645151 on 4 procs for 250 steps with 4000 atoms + +Performance: 167402.554 tau/day, 387.506 timesteps/s, 1.550 Matom-step/s +91.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.3352 | 0.38659 | 0.42758 | 6.0 | 59.92 +Neigh | 0.13107 | 0.13776 | 0.14056 | 1.0 | 21.35 +Comm | 0.063456 | 0.11053 | 0.16553 | 12.0 | 17.13 +Output | 0.00016405 | 0.0001788 | 0.00020664 | 0.0 | 0.03 +Modify | 0.0040404 | 0.0040928 | 0.0041638 | 0.1 | 0.63 +Other | | 0.005999 | | | 0.93 + +Nlocal: 1000 ave 1005 max 996 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 7674 ave 7679 max 7670 min +Histogram: 1 1 0 0 0 0 1 0 0 1 +Neighs: 149349 ave 149991 max 147960 min +Histogram: 1 0 0 0 0 0 0 1 0 2 + +Total # of neighbors = 597396 +Ave neighs/atom = 149.349 +Neighbor list builds = 25 +Dangerous builds = 0 +run 250 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.924 | 4.007 | 4.081 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 4738.2137 + 300 0.5477618 -6.2678071 0 -5.4463698 -1.997842 4738.2137 + 350 0.55600296 -6.2801497 0 -5.4463538 -2.0394056 4738.2137 + 400 0.53241503 -6.2453665 0 -5.4469436 -1.878594 4738.2137 + 450 0.5439158 -6.2623 0 -5.4466302 -1.9744161 4738.2137 + 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 4738.2137 +Loop time of 0.747007 on 4 procs for 250 steps with 4000 atoms + +Performance: 144577.053 tau/day, 334.669 timesteps/s, 1.339 Matom-step/s +92.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.42386 | 0.45917 | 0.50489 | 4.3 | 61.47 +Neigh | 0.1603 | 0.16404 | 0.17229 | 1.2 | 21.96 +Comm | 0.062076 | 0.11618 | 0.1553 | 10.0 | 15.55 +Output | 0.00016524 | 0.00018611 | 0.00022092 | 0.0 | 0.02 +Modify | 0.0041562 | 0.0042306 | 0.0043824 | 0.1 | 0.57 +Other | | 0.003202 | | | 0.43 + +Nlocal: 1000 ave 1005 max 994 min +Histogram: 1 0 0 1 0 0 0 0 1 1 +Nghost: 7675.75 ave 7703 max 7648 min +Histogram: 1 1 0 0 0 0 0 0 1 1 +Neighs: 149308 ave 173909 max 124842 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 597231 +Ave neighs/atom = 149.30775 +Neighbor list builds = 25 +Dangerous builds = 0 + +Total wall time: 0:00:01 diff --git a/examples/balance/log.3Nov23.balance.neigh.static.g++.2 b/examples/balance/log.3Nov23.balance.neigh.static.g++.2 new file mode 100644 index 0000000000..cbf49f60a3 --- /dev/null +++ b/examples/balance/log.3Nov23.balance.neigh.static.g++.2 @@ -0,0 +1,229 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +units lj +atom_style atomic +processors * 1 1 + +variable factor index 1.0 + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 3 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 2 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.001 seconds +mass * 1.0 + +region long block 3 6 0 10 0 10 +set region long type 2 +Setting atom values ... + 1400 settings made for type + +velocity all create 1.0 87287 + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 2.5 +pair_coeff * 2 1.0 1.0 5.0 + +neighbor 0.3 bin +neigh_modify every 2 delay 4 check yes + +balance 1.0 shift x 10 1.0 weight neigh 0.8 # out weighted_var.txt +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 2 steps, delay = 4 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.3 + ghost atom cutoff = 5.3 + binsize = 2.65, bins = 7 7 7 + 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 + bin: standard +WARNING: Balance weight neigh skipped b/c no suitable list found (src/imbalance_neigh.cpp:65) + rebalancing time: 0.001 seconds + iteration count = 1 + neighbor weight factor: 0.8 + initial/final maximal load/proc = 2000 2000 + initial/final imbalance factor = 1 1 + x cuts: 0 0.5 1 + y cuts: 0 1 + z cuts: 0 1 + +fix 1 all nve + +#dump id all atom 50 dump.melt + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +thermo 50 +run 250 post no +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.294 | 4.485 | 4.675 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -6.9453205 0 -5.4456955 -5.6812358 + 50 0.49578514 -6.1929216 0 -5.4494298 -1.6668039 + 100 0.53275389 -6.2475932 0 -5.4486622 -1.9063885 + 150 0.53316457 -6.2483202 0 -5.4487733 -1.9476162 + 200 0.536665 -6.2530113 0 -5.448215 -1.933468 + 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 +Loop time of 1.05477 on 2 procs for 250 steps with 4000 atoms + +balance 1.0 shift x 10 1.0 weight neigh 0.8 +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 10 + neighbor weight factor: 0.8 + initial/final maximal load/proc = 290759.2 262122.75 + initial/final imbalance factor = 1.1098226 1.0005178 + x cuts: 0 0.45166016 1 + y cuts: 0 1 + z cuts: 0 1 +run 250 post no +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.305 | 4.492 | 4.68 Mbytes + Step Temp E_pair E_mol TotEng Press + 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 + 300 0.55111476 -6.2727642 0 -5.4462987 -2.0384873 + 350 0.55211503 -6.274054 0 -5.4460885 -2.0116976 + 400 0.54638463 -6.2661715 0 -5.4467995 -1.992248 + 450 0.55885307 -6.2852263 0 -5.4471563 -2.0669747 + 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 +Loop time of 0.990985 on 2 procs for 250 steps with 4000 atoms + +balance 1.0 shift x 10 1.0 weight neigh 0.8 +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 10 + neighbor weight factor: 0.8 + initial/final maximal load/proc = 296648 269015.55 + initial/final imbalance factor = 1.1064199 1.0033581 + x cuts: 0 0.50146055 1 + y cuts: 0 1 + z cuts: 0 1 +run 250 post no +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.68 | 4.683 | 4.687 Mbytes + Step Temp E_pair E_mol TotEng Press + 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 + 550 0.54137926 -6.2592773 0 -5.4474115 -1.9770236 + 600 0.54022886 -6.2573307 0 -5.44719 -1.9619637 + 650 0.54709009 -6.2678862 0 -5.4474562 -1.9958342 + 700 0.54590044 -6.2656903 0 -5.4470444 -1.9957108 + 750 0.55098488 -6.2724831 0 -5.4462124 -2.0287523 +Loop time of 1.1232 on 2 procs for 250 steps with 4000 atoms + +balance 1.0 shift x 10 1.0 weight neigh 0.8 weight time 0.6 +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 10 + neighbor weight factor: 0.8 + time weight factor: 0.6 + initial/final maximal load/proc = 104.46537 103.82382 + initial/final imbalance factor = 1.0069898 1.0008056 + x cuts: 0 0.50292112 1 + y cuts: 0 1 + z cuts: 0 1 +run 250 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.68 | 4.683 | 4.687 Mbytes + Step Temp E_pair E_mol TotEng Press + 750 0.55098488 -6.2724831 0 -5.4462124 -2.0287523 + 800 0.5520987 -6.2739184 0 -5.4459774 -2.0084991 + 850 0.54963958 -6.2702473 0 -5.445994 -1.9740031 + 900 0.54390586 -6.2615476 0 -5.4458927 -1.9400871 + 950 0.54741732 -6.2665755 0 -5.4456548 -1.9466417 + 1000 0.54200867 -6.2591246 0 -5.4463148 -1.8881624 +Loop time of 1.15642 on 2 procs for 250 steps with 4000 atoms + +Performance: 93391.614 tau/day, 216.184 timesteps/s, 864.737 katom-step/s +99.4% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.52315 | 0.69442 | 0.86569 | 20.6 | 60.05 +Neigh | 0.22259 | 0.24411 | 0.26564 | 4.4 | 21.11 +Comm | 0.018326 | 0.21127 | 0.40421 | 42.0 | 18.27 +Output | 0.00016238 | 0.00017728 | 0.00019218 | 0.0 | 0.02 +Modify | 0.0035271 | 0.0037599 | 0.0039926 | 0.4 | 0.33 +Other | | 0.002682 | | | 0.23 + +Nlocal: 2000 ave 2089 max 1911 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 10407.5 ave 10557 max 10258 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 300836 ave 374828 max 226843 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 601671 +Ave neighs/atom = 150.41775 +Neighbor list builds = 25 +Dangerous builds = 0 +balance 1.0 shift x 10 1.0 weight neigh 0.8 weight time 0.6 +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 10 + neighbor weight factor: 0.8 + time weight factor: 0.6 + initial/final maximal load/proc = 106.04939 103.43902 + initial/final imbalance factor = 1.027399 1.0021098 + x cuts: 0 0.49751864 1 + y cuts: 0 1 + z cuts: 0 1 +run 250 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.68 | 4.683 | 4.687 Mbytes + Step Temp E_pair E_mol TotEng Press + 1000 0.54200867 -6.2591246 0 -5.4463148 -1.8881624 + 1050 0.54633412 -6.2656384 0 -5.4463421 -1.9012895 + 1100 0.54325667 -6.2612166 0 -5.4465353 -1.8870463 + 1150 0.55057583 -6.2719187 0 -5.4462614 -1.9575881 + 1200 0.53728175 -6.251744 0 -5.4460228 -1.8124097 + 1250 0.54077561 -6.2567544 0 -5.4457938 -1.8418134 +Loop time of 1.11479 on 2 procs for 250 steps with 4000 atoms + +Performance: 96878.885 tau/day, 224.257 timesteps/s, 897.027 katom-step/s +99.3% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.56649 | 0.69611 | 0.82573 | 15.5 | 62.44 +Neigh | 0.22969 | 0.24504 | 0.26039 | 3.1 | 21.98 +Comm | 0.021834 | 0.1669 | 0.31197 | 35.5 | 14.97 +Output | 0.00016211 | 0.00017676 | 0.00019141 | 0.0 | 0.02 +Modify | 0.0037327 | 0.0038431 | 0.0039535 | 0.2 | 0.34 +Other | | 0.002725 | | | 0.24 + +Nlocal: 2000 ave 2037 max 1963 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 10391 ave 10488 max 10294 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 301104 ave 358020 max 244187 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 602207 +Ave neighs/atom = 150.55175 +Neighbor list builds = 25 +Dangerous builds = 0 + +Total wall time: 0:00:05 diff --git a/examples/balance/log.3Nov23.balance.neigh.static.g++.4 b/examples/balance/log.3Nov23.balance.neigh.static.g++.4 new file mode 100644 index 0000000000..bdefb0fe26 --- /dev/null +++ b/examples/balance/log.3Nov23.balance.neigh.static.g++.4 @@ -0,0 +1,229 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +units lj +atom_style atomic +processors * 1 1 + +variable factor index 1.0 + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 3 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 4 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.000 seconds +mass * 1.0 + +region long block 3 6 0 10 0 10 +set region long type 2 +Setting atom values ... + 1400 settings made for type + +velocity all create 1.0 87287 + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 2.5 +pair_coeff * 2 1.0 1.0 5.0 + +neighbor 0.3 bin +neigh_modify every 2 delay 4 check yes + +balance 1.0 shift x 10 1.0 weight neigh 0.8 # out weighted_var.txt +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 2 steps, delay = 4 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.3 + ghost atom cutoff = 5.3 + binsize = 2.65, bins = 7 7 7 + 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 + bin: standard +WARNING: Balance weight neigh skipped b/c no suitable list found (src/imbalance_neigh.cpp:65) + rebalancing time: 0.000 seconds + iteration count = 3 + neighbor weight factor: 0.8 + initial/final maximal load/proc = 1200 1000 + initial/final imbalance factor = 1.2 1 + x cuts: 0 0.25 0.5 0.71875 1 + y cuts: 0 1 + z cuts: 0 1 + +fix 1 all nve + +#dump id all atom 50 dump.melt + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +thermo 50 +run 250 post no +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.427 | 3.803 | 4.19 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 1 -6.9453205 0 -5.4456955 -5.6812358 + 50 0.48653399 -6.1788509 0 -5.4492324 -1.6017778 + 100 0.53411175 -6.249885 0 -5.4489177 -1.9317606 + 150 0.53646658 -6.2527206 0 -5.4482219 -1.9689568 + 200 0.54551611 -6.2656326 0 -5.4475631 -2.0042104 + 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 +Loop time of 0.924459 on 4 procs for 250 steps with 4000 atoms + +balance 1.0 shift x 10 1.0 weight neigh 0.8 +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 10 + neighbor weight factor: 0.8 + initial/final maximal load/proc = 220132 125739.5 + initial/final imbalance factor = 1.7583309 1.0043594 + x cuts: 0 0.30444336 0.45092773 0.62667847 1 + y cuts: 0 1 + z cuts: 0 1 +run 250 post no +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.816 | 4 | 4.194 Mbytes + Step Temp E_pair E_mol TotEng Press + 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 + 300 0.5477618 -6.2678071 0 -5.4463698 -1.997842 + 350 0.55600296 -6.2801497 0 -5.4463538 -2.0394056 + 400 0.53241503 -6.2453665 0 -5.4469436 -1.878594 + 450 0.5439158 -6.2623 0 -5.4466302 -1.9744161 + 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 +Loop time of 0.82011 on 4 procs for 250 steps with 4000 atoms + +balance 1.0 shift x 10 1.0 weight neigh 0.8 +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 10 + neighbor weight factor: 0.8 + initial/final maximal load/proc = 147108.8 128929.14 + initial/final imbalance factor = 1.1448665 1.0033843 + x cuts: 0 0.30487251 0.44992638 0.59526989 1 + y cuts: 0 1 + z cuts: 0 1 +run 250 post no +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.833 | 4.019 | 4.211 Mbytes + Step Temp E_pair E_mol TotEng Press + 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 + 550 0.53879347 -6.2554274 0 -5.4474393 -1.9756834 + 600 0.54275982 -6.2616799 0 -5.4477437 -1.9939993 + 650 0.54526651 -6.265098 0 -5.4474027 -2.0303672 + 700 0.54369381 -6.263201 0 -5.4478642 -1.9921967 + 750 0.54452777 -6.2640839 0 -5.4474964 -1.9658675 +Loop time of 0.806894 on 4 procs for 250 steps with 4000 atoms + +balance 1.0 shift x 10 1.0 weight neigh 0.8 weight time 0.6 +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 10 + neighbor weight factor: 0.8 + time weight factor: 0.6 + initial/final maximal load/proc = 91.655582 81.113803 + initial/final imbalance factor = 1.1338813 1.0034678 + x cuts: 0 0.31096364 0.44921811 0.58717948 1 + y cuts: 0 1 + z cuts: 0 1 +run 250 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.834 | 4.019 | 4.211 Mbytes + Step Temp E_pair E_mol TotEng Press + 750 0.54452777 -6.2640839 0 -5.4474964 -1.9658675 + 800 0.55061744 -6.2725556 0 -5.4468359 -2.0100922 + 850 0.55371614 -6.2763992 0 -5.4460326 -2.0065329 + 900 0.54756622 -6.2668303 0 -5.4456863 -1.9796122 + 950 0.54791593 -6.2673161 0 -5.4456477 -1.9598278 + 1000 0.54173198 -6.2586101 0 -5.4462153 -1.9007466 +Loop time of 0.838671 on 4 procs for 250 steps with 4000 atoms + +Performance: 128775.136 tau/day, 298.091 timesteps/s, 1.192 Matom-step/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.4301 | 0.47576 | 0.50889 | 4.2 | 56.73 +Neigh | 0.095175 | 0.16382 | 0.25893 | 17.5 | 19.53 +Comm | 0.06374 | 0.19306 | 0.30768 | 22.3 | 23.02 +Output | 0.00018141 | 0.0002071 | 0.00022587 | 0.0 | 0.02 +Modify | 0.0013564 | 0.0025114 | 0.0040356 | 2.3 | 0.30 +Other | | 0.00331 | | | 0.39 + +Nlocal: 1000 ave 1657 max 525 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +Nghost: 8683.75 ave 9705 max 8021 min +Histogram: 2 0 0 0 0 1 0 0 0 1 +Neighs: 150170 ave 156480 max 144602 min +Histogram: 1 0 1 0 0 0 1 0 0 1 + +Total # of neighbors = 600681 +Ave neighs/atom = 150.17025 +Neighbor list builds = 25 +Dangerous builds = 0 +balance 1.0 shift x 10 1.0 weight neigh 0.8 weight time 0.6 +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 10 + neighbor weight factor: 0.8 + time weight factor: 0.6 + initial/final maximal load/proc = 87.14477 84.253431 + initial/final imbalance factor = 1.045158 1.0104811 + x cuts: 0 0.31514908 0.45070011 0.58569747 1 + y cuts: 0 1 + z cuts: 0 1 +run 250 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.834 | 4.019 | 4.211 Mbytes + Step Temp E_pair E_mol TotEng Press + 1000 0.54173198 -6.2586101 0 -5.4462153 -1.9007466 + 1050 0.54629742 -6.2657526 0 -5.4465113 -1.945821 + 1100 0.55427881 -6.2781733 0 -5.446963 -2.0021027 + 1150 0.54730654 -6.267257 0 -5.4465025 -1.9420678 + 1200 0.5388281 -6.2547963 0 -5.4467562 -1.890178 + 1250 0.54848768 -6.2694237 0 -5.4468979 -1.9636797 +Loop time of 0.836673 on 4 procs for 250 steps with 4000 atoms + +Performance: 129082.737 tau/day, 298.803 timesteps/s, 1.195 Matom-step/s +98.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.41798 | 0.47099 | 0.51203 | 5.9 | 56.29 +Neigh | 0.092957 | 0.16434 | 0.26021 | 18.1 | 19.64 +Comm | 0.060396 | 0.19529 | 0.32014 | 25.6 | 23.34 +Output | 0.00018905 | 0.00020907 | 0.00022197 | 0.0 | 0.02 +Modify | 0.0013271 | 0.0025202 | 0.0041052 | 2.4 | 0.30 +Other | | 0.003317 | | | 0.40 + +Nlocal: 1000 ave 1646 max 498 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 8671.25 ave 9741 max 7981 min +Histogram: 2 0 0 0 0 1 0 0 0 1 +Neighs: 149995 ave 165511 max 135174 min +Histogram: 1 0 1 0 0 0 0 1 0 1 + +Total # of neighbors = 599979 +Ave neighs/atom = 149.99475 +Neighbor list builds = 25 +Dangerous builds = 0 + +Total wall time: 0:00:04 diff --git a/examples/balance/log.3Nov23.balance.var.dynamic.g++.2 b/examples/balance/log.3Nov23.balance.var.dynamic.g++.2 new file mode 100644 index 0000000000..2bb94e335f --- /dev/null +++ b/examples/balance/log.3Nov23.balance.var.dynamic.g++.2 @@ -0,0 +1,268 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +units lj +atom_style atomic +processors * 1 1 + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 3 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 2 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.001 seconds +mass * 1.0 + +region long block 3 6 0 10 0 10 +set region long type 2 +Setting atom values ... + 1400 settings made for type + +velocity all create 1.0 87287 + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 2.5 +pair_coeff * 2 1.0 1.0 5.0 + +neighbor 0.3 bin +neigh_modify every 2 delay 4 check yes +fix p all property/atom d_WEIGHT +compute p all property/atom d_WEIGHT + +group fast type 1 +2600 atoms in group fast +group slow type 2 +1400 atoms in group slow +balance 1.0 shift x 10 1.0 weight group 2 fast 0.8 slow 2.5 weight store WEIGHT +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 2 steps, delay = 4 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.3 + ghost atom cutoff = 5.3 + binsize = 2.65, bins = 7 7 7 + 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 + bin: standard + rebalancing time: 0.001 seconds + iteration count = 10 + group weights: fast=0.8 slow=2.5 + storing weight in atom property d_WEIGHT + initial/final maximal load/proc = 2960 3120 + initial/final imbalance factor = 1.0609319 1.1182796 + x cuts: 0 0.44970703 1 + y cuts: 0 1 + z cuts: 0 1 +variable lastweight atom c_p + +fix 0 all balance 50 1.0 shift x 10 1.0 weight var lastweight weight time 0.5 weight store WEIGHT +variable maximb equal f_0[1] +variable iter equal f_0[2] +variable prev equal f_0[3] +variable final equal f_0 + +#fix 3 all print 50 "${iter} ${prev} ${final} ${maximb}" + +fix 1 all nve + +#dump id all atom 50 dump.melt +#dump id all custom 50 dump.lammpstrj id type x y z c_p + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +thermo 50 +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.709 | 4.878 | 5.046 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137 + 50 0.49578514 -6.1929216 0 -5.4494298 -1.6668039 4738.2137 + 100 0.53275389 -6.2475932 0 -5.4486622 -1.9063885 4738.2137 + 150 0.53316457 -6.2483202 0 -5.4487733 -1.9476162 4738.2137 + 200 0.536665 -6.2530113 0 -5.448215 -1.933468 4738.2137 + 250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 4738.2137 + 300 0.55111476 -6.2727642 0 -5.4462987 -2.0384873 4738.2137 + 350 0.55211503 -6.274054 0 -5.4460885 -2.0116976 4738.2137 + 400 0.54638463 -6.2661715 0 -5.4467995 -1.992248 4738.2137 + 450 0.55885307 -6.2852263 0 -5.4471563 -2.0669747 4738.2137 + 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 4738.2137 +Loop time of 2.63649 on 2 procs for 500 steps with 4000 atoms + +Performance: 81926.988 tau/day, 189.646 timesteps/s, 758.583 katom-step/s +99.0% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.71463 | 1.3382 | 1.9618 | 53.9 | 50.76 +Neigh | 0.37719 | 0.49388 | 0.61056 | 16.6 | 18.73 +Comm | 0.047367 | 0.78842 | 1.5295 | 83.5 | 29.90 +Output | 0.00033203 | 0.00036767 | 0.0004033 | 0.0 | 0.01 +Modify | 0.0083865 | 0.0094362 | 0.010486 | 1.1 | 0.36 +Other | | 0.006199 | | | 0.24 + +Nlocal: 2000 ave 2603 max 1397 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 10434 ave 11430 max 9438 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 298070 ave 500187 max 95952 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 596139 +Ave neighs/atom = 149.03475 +Neighbor list builds = 51 +Dangerous builds = 0 +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.094 | 5.463 | 5.832 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 4738.2137 + 550 0.54137926 -6.2592773 0 -5.4474115 -1.9770236 4738.2137 + 600 0.54022886 -6.2573307 0 -5.44719 -1.9619637 4738.2137 + 650 0.54709009 -6.2678862 0 -5.4474562 -1.9958342 4738.2137 + 700 0.54590044 -6.2656903 0 -5.4470444 -1.9957108 4738.2137 + 750 0.55098488 -6.2724831 0 -5.4462124 -2.0287523 4738.2137 + 800 0.5520987 -6.2739184 0 -5.4459774 -2.0084991 4738.2137 + 850 0.54963958 -6.2702473 0 -5.445994 -1.9740031 4738.2137 + 900 0.54390586 -6.2615476 0 -5.4458927 -1.9400871 4738.2137 + 950 0.54741732 -6.2665755 0 -5.4456548 -1.9466417 4738.2137 + 1000 0.54200867 -6.2591246 0 -5.4463148 -1.8881624 4738.2137 +Loop time of 3.17842 on 2 procs for 500 steps with 4000 atoms + +Performance: 67958.372 tau/day, 157.311 timesteps/s, 629.244 katom-step/s +98.1% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.37522 | 1.3792 | 2.3831 | 85.5 | 43.39 +Neigh | 0.27684 | 0.50251 | 0.72818 | 31.8 | 15.81 +Comm | 0.046802 | 1.2782 | 2.5097 | 108.9 | 40.22 +Output | 0.00037247 | 0.00037744 | 0.00038242 | 0.0 | 0.01 +Modify | 0.0074902 | 0.010381 | 0.013273 | 2.8 | 0.33 +Other | | 0.007739 | | | 0.24 + +Nlocal: 2000 ave 2773 max 1227 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 10234 ave 11398 max 9070 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 300836 ave 527715 max 73956 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 601671 +Ave neighs/atom = 150.41775 +Neighbor list builds = 51 +Dangerous builds = 0 + +balance 1.0 shift x 10 1.0 weight group 2 fast 0.8 slow 2.5 weight store WEIGHT +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 10 + group weights: fast=0.8 slow=2.5 + storing weight in atom property d_WEIGHT + initial/final maximal load/proc = 4598.4 2803.1 + initial/final imbalance factor = 1.648172 1.0046953 + x cuts: 0 0.45499213 1 + y cuts: 0 1 + z cuts: 0 1 + +fix 0 all balance 50 1.0 shift x 5 1.0 weight var lastweight weight neigh 0.5 weight store WEIGHT + +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.483 | 5.66 | 5.837 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 1000 0.54200867 -6.2591246 0 -5.4463148 -1.8881624 4738.2137 + 1050 0.54633412 -6.2656384 0 -5.4463421 -1.9012895 4738.2137 + 1100 0.54325667 -6.2612166 0 -5.4465353 -1.8870463 4738.2137 + 1150 0.55057583 -6.2719187 0 -5.4462614 -1.9575881 4738.2137 + 1200 0.53728175 -6.251744 0 -5.4460228 -1.8124097 4738.2137 + 1250 0.54077561 -6.2567544 0 -5.4457938 -1.8418134 4738.2137 + 1300 0.54430333 -6.260995 0 -5.4447442 -1.856351 4738.2137 + 1350 0.55097839 -6.2715909 0 -5.4453299 -1.9014337 4738.2137 + 1400 0.53858139 -6.2526781 0 -5.445008 -1.7965773 4738.2137 + 1450 0.54218439 -6.2574683 0 -5.444395 -1.7901189 4738.2137 + 1500 0.54200616 -6.2571433 0 -5.4443373 -1.8000345 4738.2137 +Loop time of 3.02969 on 2 procs for 500 steps with 4000 atoms + +Performance: 71294.507 tau/day, 165.034 timesteps/s, 660.134 katom-step/s +98.7% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.5714 | 1.3936 | 2.2158 | 69.6 | 46.00 +Neigh | 0.2744 | 0.51127 | 0.74814 | 33.1 | 16.88 +Comm | 0.046434 | 1.1076 | 2.1688 | 100.8 | 36.56 +Output | 0.00031672 | 0.00037175 | 0.00042678 | 0.0 | 0.01 +Modify | 0.0066955 | 0.0094869 | 0.012278 | 2.9 | 0.31 +Other | | 0.007313 | | | 0.24 + +Nlocal: 2000 ave 3014 max 986 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 10343 ave 12125 max 8561 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 302958 ave 519610 max 86307 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 605917 +Ave neighs/atom = 151.47925 +Neighbor list builds = 51 +Dangerous builds = 0 +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.864 | 5.882 | 5.899 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 1500 0.54200616 -6.2571433 0 -5.4443373 -1.8000345 4738.2137 + 1550 0.5371361 -6.2504031 0 -5.4449003 -1.7647032 4738.2137 + 1600 0.54679571 -6.2646443 0 -5.4446558 -1.8115722 4738.2137 + 1650 0.53806589 -6.2519009 0 -5.4450038 -1.740915 4738.2137 + 1700 0.53479448 -6.2469033 0 -5.4449122 -1.7162445 4738.2137 + 1750 0.53714069 -6.2506511 0 -5.4451415 -1.734019 4738.2137 + 1800 0.52750498 -6.2358815 0 -5.4448219 -1.6875349 4738.2137 + 1850 0.54585338 -6.2629367 0 -5.4443613 -1.7758582 4738.2137 + 1900 0.53011122 -6.2387673 0 -5.4437993 -1.6382079 4738.2137 + 1950 0.5428773 -6.2583146 0 -5.4442022 -1.7367714 4738.2137 + 2000 0.52771538 -6.2349676 0 -5.4435924 -1.5594006 4738.2137 +Loop time of 3.18739 on 2 procs for 500 steps with 4000 atoms + +Performance: 67767.083 tau/day, 156.868 timesteps/s, 627.473 katom-step/s +98.5% CPU use with 2 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.39584 | 1.3793 | 2.3628 | 83.7 | 43.27 +Neigh | 0.21951 | 0.48818 | 0.75684 | 38.5 | 15.32 +Comm | 0.047346 | 1.3021 | 2.5568 | 110.0 | 40.85 +Output | 0.00031641 | 0.00037624 | 0.00043608 | 0.0 | 0.01 +Modify | 0.0061382 | 0.0096203 | 0.013102 | 3.6 | 0.30 +Other | | 0.007838 | | | 0.25 + +Nlocal: 2000 ave 3033 max 967 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 10266 ave 12244 max 8288 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 303996 ave 525260 max 82733 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 607993 +Ave neighs/atom = 151.99825 +Neighbor list builds = 51 +Dangerous builds = 0 +Total wall time: 0:00:12 diff --git a/examples/balance/log.3Nov23.balance.var.dynamic.g++.4 b/examples/balance/log.3Nov23.balance.var.dynamic.g++.4 new file mode 100644 index 0000000000..8ab61a6eca --- /dev/null +++ b/examples/balance/log.3Nov23.balance.var.dynamic.g++.4 @@ -0,0 +1,268 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-790-g0fbe388cbd) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3d Lennard-Jones melt + +units lj +atom_style atomic +processors * 1 1 + +lattice fcc 0.8442 +Lattice spacing in x,y,z = 1.6795962 1.6795962 1.6795962 +region box block 0 10 0 10 0 10 +create_box 3 box +Created orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + 4 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4000 atoms + using lattice units in orthogonal box = (0 0 0) to (16.795962 16.795962 16.795962) + create_atoms CPU = 0.000 seconds +mass * 1.0 + +region long block 3 6 0 10 0 10 +set region long type 2 +Setting atom values ... + 1400 settings made for type + +velocity all create 1.0 87287 + +pair_style lj/cut 2.5 +pair_coeff * * 1.0 1.0 2.5 +pair_coeff * 2 1.0 1.0 5.0 + +neighbor 0.3 bin +neigh_modify every 2 delay 4 check yes +fix p all property/atom d_WEIGHT +compute p all property/atom d_WEIGHT + +group fast type 1 +2600 atoms in group fast +group slow type 2 +1400 atoms in group slow +balance 1.0 shift x 10 1.0 weight group 2 fast 0.8 slow 2.5 weight store WEIGHT +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 2 steps, delay = 4 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.3 + ghost atom cutoff = 5.3 + binsize = 2.65, bins = 7 7 7 + 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 + bin: standard + rebalancing time: 0.001 seconds + iteration count = 10 + group weights: fast=0.8 slow=2.5 + storing weight in atom property d_WEIGHT + initial/final maximal load/proc = 2160 1620 + initial/final imbalance factor = 1.5483871 1.1612903 + x cuts: 0 0.30004883 0.44995117 0.59985352 1 + y cuts: 0 1 + z cuts: 0 1 +variable lastweight atom c_p + +fix 0 all balance 50 1.0 shift x 10 1.0 weight var lastweight weight time 0.5 weight store WEIGHT +variable maximb equal f_0[1] +variable iter equal f_0[2] +variable prev equal f_0[3] +variable final equal f_0 + +#fix 3 all print 50 "${iter} ${prev} ${final} ${maximb}" + +fix 1 all nve + +#dump id all atom 50 dump.melt +#dump id all custom 50 dump.lammpstrj id type x y z c_p + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +thermo 50 +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.134 | 4.194 | 4.276 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137 + 50 0.48653399 -6.1788509 0 -5.4492324 -1.6017778 4738.2137 + 100 0.53411175 -6.249885 0 -5.4489177 -1.9317606 4738.2137 + 150 0.53646658 -6.2527206 0 -5.4482219 -1.9689568 4738.2137 + 200 0.54551611 -6.2656326 0 -5.4475631 -2.0042104 4738.2137 + 250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 4738.2137 + 300 0.5477618 -6.2678071 0 -5.4463698 -1.997842 4738.2137 + 350 0.55600296 -6.2801497 0 -5.4463538 -2.0394056 4738.2137 + 400 0.53241503 -6.2453665 0 -5.4469436 -1.878594 4738.2137 + 450 0.5439158 -6.2623 0 -5.4466302 -1.9744161 4738.2137 + 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 4738.2137 +Loop time of 1.75963 on 4 procs for 500 steps with 4000 atoms + +Performance: 122752.823 tau/day, 284.150 timesteps/s, 1.137 Matom-step/s +98.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.68268 | 0.90239 | 1.1178 | 21.1 | 51.28 +Neigh | 0.14555 | 0.31884 | 0.53079 | 30.7 | 18.12 +Comm | 0.1258 | 0.52379 | 0.91801 | 51.5 | 29.77 +Output | 0.00034604 | 0.00041026 | 0.00047658 | 0.0 | 0.02 +Modify | 0.004958 | 0.0071987 | 0.010065 | 2.7 | 0.41 +Other | | 0.007007 | | | 0.40 + +Nlocal: 1000 ave 1818 max 353 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 8752 ave 10126 max 7737 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +Neighs: 149308 ave 201250 max 96144 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 597231 +Ave neighs/atom = 149.30775 +Neighbor list builds = 50 +Dangerous builds = 0 +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.136 | 4.388 | 4.665 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 4738.2137 + 550 0.53879347 -6.2554274 0 -5.4474393 -1.9756834 4738.2137 + 600 0.54275982 -6.2616799 0 -5.4477437 -1.9939993 4738.2137 + 650 0.54526651 -6.265098 0 -5.4474027 -2.0303672 4738.2137 + 700 0.54369381 -6.263201 0 -5.4478642 -1.9921967 4738.2137 + 750 0.54452777 -6.2640839 0 -5.4474964 -1.9658675 4738.2137 + 800 0.55061744 -6.2725556 0 -5.4468359 -2.0100922 4738.2137 + 850 0.55371614 -6.2763992 0 -5.4460326 -2.0065329 4738.2137 + 900 0.54756622 -6.2668303 0 -5.4456863 -1.9796122 4738.2137 + 950 0.54791593 -6.2673161 0 -5.4456477 -1.9598278 4738.2137 + 1000 0.54173198 -6.2586101 0 -5.4462153 -1.9007466 4738.2137 +Loop time of 2.16561 on 4 procs for 500 steps with 4000 atoms + +Performance: 99740.900 tau/day, 230.882 timesteps/s, 923.527 katom-step/s +98.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.50258 | 0.94516 | 1.4087 | 45.5 | 43.64 +Neigh | 0.11215 | 0.35365 | 0.65108 | 40.8 | 16.33 +Comm | 0.087035 | 0.85049 | 1.5351 | 74.3 | 39.27 +Output | 0.00038778 | 0.00044723 | 0.00047387 | 0.0 | 0.02 +Modify | 0.0047248 | 0.0077357 | 0.011417 | 3.4 | 0.36 +Other | | 0.008132 | | | 0.38 + +Nlocal: 1000 ave 1913 max 271 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 8713.25 ave 10520 max 7313 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Neighs: 150170 ave 225174 max 74461 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 600678 +Ave neighs/atom = 150.1695 +Neighbor list builds = 53 +Dangerous builds = 0 + +balance 1.0 shift x 10 1.0 weight group 2 fast 0.8 slow 2.5 weight store WEIGHT +Balancing ... +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule + rebalancing time: 0.000 seconds + iteration count = 10 + group weights: fast=0.8 slow=2.5 + storing weight in atom property d_WEIGHT + initial/final maximal load/proc = 2263.1 1415 + initial/final imbalance factor = 1.6222939 1.0143369 + x cuts: 0 0.33693529 0.45444001 0.59634919 1 + y cuts: 0 1 + z cuts: 0 1 + +fix 0 all balance 50 1.0 shift x 5 1.0 weight var lastweight weight neigh 0.5 weight store WEIGHT + +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.136 | 4.391 | 4.67 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 1000 0.54173198 -6.2586101 0 -5.4462153 -1.9007466 4738.2137 + 1050 0.54629742 -6.2657526 0 -5.4465113 -1.945821 4738.2137 + 1100 0.55427881 -6.2781733 0 -5.446963 -2.0021027 4738.2137 + 1150 0.54730654 -6.267257 0 -5.4465025 -1.9420678 4738.2137 + 1200 0.5388281 -6.2547963 0 -5.4467562 -1.890178 4738.2137 + 1250 0.54848768 -6.2694237 0 -5.4468979 -1.9636797 4738.2137 + 1300 0.54134321 -6.2590728 0 -5.447261 -1.917027 4738.2137 + 1350 0.53564389 -6.2501521 0 -5.4468871 -1.8642306 4738.2137 + 1400 0.53726925 -6.2518379 0 -5.4461355 -1.8544028 4738.2137 + 1450 0.54525929 -6.2632653 0 -5.4455808 -1.9072158 4738.2137 + 1500 0.5422334 -6.2591056 0 -5.4459588 -1.8866983 4738.2137 +Loop time of 2.13466 on 4 procs for 500 steps with 4000 atoms + +Performance: 101187.057 tau/day, 234.229 timesteps/s, 936.917 katom-step/s +98.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.51842 | 0.95273 | 1.4498 | 43.3 | 44.63 +Neigh | 0.10961 | 0.34434 | 0.60309 | 39.3 | 16.13 +Comm | 0.12298 | 0.82248 | 1.494 | 71.8 | 38.53 +Output | 0.00035703 | 0.00041491 | 0.00044876 | 0.0 | 0.02 +Modify | 0.0041412 | 0.0071285 | 0.010464 | 3.4 | 0.33 +Other | | 0.007562 | | | 0.35 + +Nlocal: 1000 ave 1957 max 197 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Nghost: 8729 ave 10470 max 7399 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Neighs: 150494 ave 251670 max 54014 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 601974 +Ave neighs/atom = 150.4935 +Neighbor list builds = 51 +Dangerous builds = 0 +run 500 +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 4.138 | 4.391 | 4.67 Mbytes + Step Temp E_pair E_mol TotEng Press Volume + 1500 0.5422334 -6.2591056 0 -5.4459588 -1.8866983 4738.2137 + 1550 0.55327047 -6.2750129 0 -5.4453147 -1.9506601 4738.2137 + 1600 0.54419057 -6.2612631 0 -5.4451813 -1.8559469 4738.2137 + 1650 0.5471001 -6.2661978 0 -5.4457528 -1.888283 4738.2137 + 1700 0.53665427 -6.250492 0 -5.4457118 -1.8067906 4738.2137 + 1750 0.54864956 -6.26812 0 -5.4453514 -1.8662931 4738.2137 + 1800 0.54476992 -6.2615116 0 -5.444561 -1.8353034 4738.2137 + 1850 0.54143122 -6.255562 0 -5.4436182 -1.8005828 4738.2137 + 1900 0.539946 -6.2541877 0 -5.4444712 -1.7770616 4738.2137 + 1950 0.54665381 -6.2641025 0 -5.4443268 -1.7946294 4738.2137 + 2000 0.54548936 -6.2623904 0 -5.4443609 -1.8063359 4738.2137 +Loop time of 2.41945 on 4 procs for 500 steps with 4000 atoms + +Performance: 89276.563 tau/day, 206.659 timesteps/s, 826.635 katom-step/s +98.2% 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.27258 | 0.93844 | 1.5963 | 67.8 | 38.79 +Neigh | 0.066471 | 0.37001 | 0.71699 | 50.0 | 15.29 +Comm | 0.087137 | 1.095 | 2.0664 | 92.0 | 45.26 +Output | 0.00036093 | 0.00042589 | 0.00046706 | 0.0 | 0.02 +Modify | 0.0037164 | 0.0072792 | 0.011595 | 4.2 | 0.30 +Other | | 0.008293 | | | 0.34 + +Nlocal: 1000 ave 2047 max 120 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Nghost: 8721.75 ave 10454 max 7446 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +Neighs: 151641 ave 268854 max 34056 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 606565 +Ave neighs/atom = 151.64125 +Neighbor list builds = 56 +Dangerous builds = 0 +Total wall time: 0:00:08 diff --git a/examples/nb3b/PSiO.nb3b.screened b/examples/nb3b/PSiO.nb3b.screened new file mode 120000 index 0000000000..e5b381f0a3 --- /dev/null +++ b/examples/nb3b/PSiO.nb3b.screened @@ -0,0 +1 @@ +../../potentials/PSiO.nb3b.screened \ No newline at end of file diff --git a/examples/nb3b/README.nb3b.screened b/examples/nb3b/README.nb3b.screened new file mode 100644 index 0000000000..686b329846 --- /dev/null +++ b/examples/nb3b/README.nb3b.screened @@ -0,0 +1,41 @@ +Additional information for pair style nb3b/screened example. + +This input uses the BMP potential (Bertani, M., Menziani, M. C., +& Pedone, A. (2021). Improved empirical force field for multicomponent +oxide glasses and crystals. Physical Review Materials, 5(4), 045602). + +The interatomic potential is obtained by mixing coulombic interactions +with other two-body functions (modified Morse and Buckingham), with a +three-body interaction (screened harmonic function). + +The modified Morse is introduce with Tables and it is combined with +Buckingham and coul/dsf to complete the two-body force field. +The three-body interaction is computed with pair style nb3b/screened +only for P-O-P angle. With the pair_coeff command the atom types +involved in the three-body potential are specified: + +pair_coeff * * nb3b/screened PSiO.nb3b.screened P NULL O + +And they appear in the same order as in the data file: +type 1: P; +type 2: Na, not involved in the three body so indicated as NULL; +type 3: O. + +In the potential file PSiO.nb3b.screened there are the parameters of +all permutations of the required atom types. In the example, also +parameters for Si permutations appear but they are not employed in +the current case. + +# i j k K theta0 rho cutoff +O P P 32.5 109.47 1.0 3.3 +O P Si 60.0 109.47 1.0 0.000 +O P O 0.000 0.000 1.0 0.000 +O Si P 60.0 109.47 1.0 0.000 +O Si Si 12.5 109.47 1.0 3.3 +(...) + +The rho value must be always higher than 0.0. Cutoff and rho are extracted +only from symmetric interactions (e.g. O P P, O Si Si), because of that +you do not need to specify those values for the asymmetric interactions +(e.g. O P Si and O Si P). + diff --git a/examples/nb3b/Table_NP.dat b/examples/nb3b/Table_NP.dat new file mode 100644 index 0000000000..7e3efd836c --- /dev/null +++ b/examples/nb3b/Table_NP.dat @@ -0,0 +1,14997 @@ +Pair_P-O +N 4995 + +1 0.01 1.0000000e+24 1.2000000e+27 +2 0.012 1.1215665e+23 1.1215665e+26 +3 0.014 1.7638578e+22 1.5118781e+25 +4 0.016 3.5527137e+21 2.6645353e+24 +5 0.018 8.6443022e+20 5.7628681e+23 +6 0.02 2.4414063e+20 1.4648438e+23 +7 0.022 7.7790727e+19 4.2431306e+22 +8 0.024 2.7381996e+19 1.3690998e+22 +9 0.026 1.0479000e+19 4.8364614e+21 +10 0.028 4.3062935e+18 1.8455543e+21 +11 0.03 1.8816764e+18 7.5267057e+20 +12 0.032 8.6736174e+17 3.2526065e+20 +13 0.034 4.1903760e+17 1.4789562e+20 +14 0.036 2.1104253e+17 7.0347511e+19 +15 0.038 1.1030542e+17 3.4833290e+19 +16 0.04 5.9604645e+16 1.7881393e+19 +17 0.042 3.3190097e+16 9.4828847e+18 +18 0.044 1.8991877e+16 5.1796027e+18 +19 0.046 1.1140534e+16 2.9062263e+18 +20 0.048 6.6850576e+15 1.6712644e+18 +21 0.05 4.0960000e+15 9.8304000e+17 +22 0.052 2.5583495e+15 5.9038835e+17 +23 0.054 1.6265780e+15 3.6146177e+17 +24 0.056 1.0513412e+15 2.2528740e+17 +25 0.058 6.9002381e+14 1.4276355e+17 +26 0.06 4.5939366e+14 9.1878732e+16 +27 0.062 3.0995577e+14 5.9991439e+16 +28 0.064 2.1175824e+14 3.9704669e+16 +29 0.066 1.4637698e+14 2.6613996e+16 +30 0.068 1.0230410e+14 1.8053665e+16 +31 0.07 7.2247616e+13 1.2385306e+16 +32 0.072 5.1524056e+13 8.5873427e+15 +33 0.074 3.7086800e+13 6.0140757e+15 +34 0.076 2.6930033e+13 4.2521105e+15 +35 0.078 1.9718087e+13 3.0335518e+15 +36 0.08 1.4551915e+13 2.1827873e+15 +37 0.082 1.0820162e+13 1.5834384e+15 +38 0.084 8.1030509e+12 1.1575787e+15 +39 0.086 6.1096817e+12 8.5251373e+14 +40 0.088 4.6366887e+12 6.3227572e+14 +41 0.09 3.5407062e+12 4.7209415e+14 +42 0.092 2.7198570e+12 3.5476396e+14 +43 0.094 2.1011921e+12 2.6823729e+14 +44 0.096 1.6320941e+12 2.0401177e+14 +45 0.098 1.2743452e+12 1.5604227e+14 +46 0.1 1.0000000e+12 1.2000000e+14 +47 0.102 7.8849318e+11 9.2763903e+13 +48 0.104 6.2459705e+11 7.2068890e+13 +49 0.106 4.9696937e+11 5.6260683e+13 +50 0.108 3.9711376e+11 4.4123751e+13 +51 0.11 3.1863082e+11 3.4759726e+13 +52 0.112 2.5667510e+11 2.7500903e+13 +53 0.114 2.0755911e+11 2.1848327e+13 +54 0.116 1.6846285e+11 1.7427191e+13 +55 0.118 1.3721953e+11 1.3954528e+13 +56 0.12 1.1215666e+11 1.1215666e+13 +57 0.122 9.1977596e+10 9.0469762e+12 +58 0.124 7.5672800e+10 7.3231738e+12 +59 0.126 6.2453027e+10 5.9479069e+12 +60 0.128 5.1698793e+10 4.8467614e+12 +61 0.13 4.2921987e+10 3.9620292e+12 +62 0.132 3.5736571e+10 3.2487788e+12 +63 0.134 2.9836129e+10 2.6718918e+12 +64 0.136 2.4976592e+10 2.2038166e+12 +65 0.138 2.0962885e+10 1.8228592e+12 +66 0.14 1.7638582e+10 1.5118781e+12 +67 0.142 1.4877844e+10 1.2572822e+12 +68 0.144 1.2579119e+10 1.0482596e+12 +69 0.146 1.0660213e+10 8.7618161e+11 +70 0.148 9.0543985e+09 7.3414012e+11 +71 0.15 7.7073505e+09 6.1658775e+11 +72 0.152 6.5747191e+09 5.1905648e+11 +73 0.154 5.6201984e+09 4.3793726e+11 +74 0.156 4.8139898e+09 3.7030663e+11 +75 0.158 4.1315722e+09 3.1379003e+11 +76 0.16 3.5527174e+09 2.6645355e+11 +77 0.162 3.0606971e+09 2.2671805e+11 +78 0.164 2.6416448e+09 1.9329084e+11 +79 0.166 2.2840396e+09 1.6511105e+11 +80 0.168 1.9782875e+09 1.4130601e+11 +81 0.17 1.7163815e+09 1.2115611e+11 +82 0.172 1.4916250e+09 1.0406664e+11 +83 0.174 1.2984050e+09 8.9544952e+10 +84 0.176 1.1320075e+09 7.7182113e+10 +85 0.178 9.8846536e+08 6.6637904e+10 +86 0.18 8.6443356e+08 5.7628699e+10 +87 0.182 7.5708604e+08 4.9917561e+10 +88 0.184 6.6403086e+08 4.3306164e+10 +89 0.186 5.8323970e+08 3.7628176e+10 +90 0.188 5.1298955e+08 3.2743826e+10 +91 0.19 4.5181416e+08 2.8535447e+10 +92 0.192 3.9846362e+08 2.4903797e+10 +93 0.194 3.5187067e+08 2.1765021e+10 +94 0.196 3.1112251e+08 1.9048145e+10 +95 0.198 2.7543715e+08 1.6692992e+10 +96 0.2 2.4414363e+08 1.4648453e+10 +97 0.202 2.1666539e+08 1.2871050e+10 +98 0.204 1.9250616e+08 1.1323734e+10 +99 0.206 1.7123824e+08 9.9748885e+09 +100 0.208 1.5249240e+08 8.7974871e+09 +101 0.21 1.3594949e+08 7.7683942e+09 +102 0.212 1.2133324e+08 6.8677740e+09 +103 0.214 1.0840415e+08 6.0785955e+09 +104 0.216 9.6954366e+07 5.3862146e+09 +105 0.218 8.6803206e+07 4.7780219e+09 +106 0.22 7.7793435e+07 4.2431448e+09 +107 0.222 6.9788037e+07 3.7721956e+09 +108 0.224 6.2667469e+07 3.3570578e+09 +109 0.226 5.6327303e+07 2.9907048e+09 +110 0.228 5.0676205e+07 2.6670457e+09 +111 0.23 4.5634197e+07 2.3807941e+09 +112 0.232 4.1131166e+07 2.1273560e+09 +113 0.234 3.7105574e+07 1.9027342e+09 +114 0.236 3.3503349e+07 1.7034467e+09 +115 0.238 3.0276930e+07 1.5264567e+09 +116 0.24 2.7384433e+07 1.3691126e+09 +117 0.242 2.4788934e+07 1.2290965e+09 +118 0.244 2.2457853e+07 1.1043798e+09 +119 0.246 2.0362405e+07 9.9318533e+08 +120 0.248 1.8477140e+07 8.9395442e+08 +121 0.25 1.6779528e+07 8.0531856e+08 +122 0.252 1.5249607e+07 7.2607491e+08 +123 0.254 1.3869675e+07 6.5516523e+08 +124 0.256 1.2624014e+07 5.9165749e+08 +125 0.258 1.1498660e+07 5.3473001e+08 +126 0.26 1.0481193e+07 4.8365770e+08 +127 0.262 9.5605547e+06 4.3780006e+08 +128 0.264 8.7268950e+06 3.9659077e+08 +129 0.266 7.9714281e+06 3.5952866e+08 +130 0.268 7.2863127e+06 3.2616976e+08 +131 0.27 6.6645437e+06 2.9612046e+08 +132 0.272 6.0998582e+06 2.6903144e+08 +133 0.274 5.5866520e+06 2.4459243e+08 +134 0.276 5.1199063e+06 2.2252763e+08 +135 0.278 4.6951229e+06 2.0259162e+08 +136 0.28 4.3082669e+06 1.8456585e+08 +137 0.282 3.9557163e+06 1.6825557e+08 +138 0.284 3.6342172e+06 1.5348704e+08 +139 0.286 3.3408441e+06 1.4010516e+08 +140 0.288 3.0729648e+06 1.2797137e+08 +141 0.29 2.8282094e+06 1.1696179e+08 +142 0.292 2.6044424e+06 1.0696555e+08 +143 0.294 2.3997381e+06 9.7883372e+07 +144 0.296 2.2123590e+06 8.9626295e+07 +145 0.298 2.0407362e+06 8.2114523e+07 +146 0.3 1.8834520e+06 7.5276442e+07 +147 0.302 1.7392243e+06 6.9047731e+07 +148 0.304 1.6068935e+06 6.3370576e+07 +149 0.306 1.4854091e+06 5.8192979e+07 +150 0.308 1.3738198e+06 5.3468137e+07 +151 0.31 1.2712629e+06 4.9153895e+07 +152 0.312 1.1769559e+06 4.5212259e+07 +153 0.314 1.0901884e+06 4.1608962e+07 +154 0.316 1.0103152e+06 3.8313077e+07 +155 0.318 9.3674984e+05 3.5296676e+07 +156 0.32 8.6895905e+05 3.2534519e+07 +157 0.322 8.0645754e+05 3.0003783e+07 +158 0.324 7.4880345e+05 2.7683819e+07 +159 0.326 6.9559425e+05 2.5555930e+07 +160 0.328 6.4646301e+05 2.3603178e+07 +161 0.33 6.0107505e+05 2.1810208e+07 +162 0.332 5.5912496e+05 2.0163095e+07 +163 0.334 5.2033388e+05 1.8649199e+07 +164 0.336 4.8444703e+05 1.7257042e+07 +165 0.338 4.5123153e+05 1.5976195e+07 +166 0.34 4.2047439e+05 1.4797176e+07 +167 0.342 3.9198071e+05 1.3711361e+07 +168 0.344 3.6557206e+05 1.2710900e+07 +169 0.346 3.4108498e+05 1.1788644e+07 +170 0.348 3.1836970e+05 1.0938079e+07 +171 0.35 2.9728884e+05 1.0153268e+07 +172 0.352 2.7771641e+05 9.4287926e+06 +173 0.354 2.5953675e+05 8.7597111e+06 +174 0.356 2.4264366e+05 8.1415096e+06 +175 0.358 2.2693955e+05 7.5700648e+06 +176 0.36 2.1233475e+05 7.0416079e+06 +177 0.362 1.9874677e+05 6.5526923e+06 +178 0.364 1.8609972e+05 6.1001647e+06 +179 0.366 1.7432378e+05 5.6811386e+06 +180 0.368 1.6335460e+05 5.2929703e+06 +181 0.37 1.5313294e+05 4.9332376e+06 +182 0.372 1.4360418e+05 4.5997201e+06 +183 0.374 1.3471795e+05 4.2903813e+06 +184 0.376 1.2642779e+05 4.0033525e+06 +185 0.378 1.1869081e+05 3.7369184e+06 +186 0.38 1.1146743e+05 3.4895036e+06 +187 0.382 1.0472108e+05 3.2596606e+06 +188 0.384 9.8417967e+04 3.0460588e+06 +189 0.386 9.2526840e+04 2.8474745e+06 +190 0.388 8.7018810e+04 2.6627820e+06 +191 0.39 8.1867144e+04 2.4909450e+06 +192 0.392 7.7047098e+04 2.3310093e+06 +193 0.394 7.2535760e+04 2.1820959e+06 +194 0.396 6.8311908e+04 2.0433947e+06 +195 0.398 6.4355872e+04 1.9141588e+06 +196 0.4 6.0649422e+04 1.7936994e+06 +197 0.402 5.7175649e+04 1.6813806e+06 +198 0.404 5.3918865e+04 1.5766157e+06 +199 0.406 5.0864512e+04 1.4788629e+06 +200 0.408 4.7999073e+04 1.3876214e+06 +201 0.41 4.5309995e+04 1.3024286e+06 +202 0.412 4.2785613e+04 1.2228567e+06 +203 0.414 4.0415085e+04 1.1485100e+06 +204 0.416 3.8188334e+04 1.0790225e+06 +205 0.418 3.6095982e+04 1.0140553e+06 +206 0.42 3.4129309e+04 9.5329464e+05 +207 0.422 3.2280194e+04 8.9644986e+05 +208 0.424 3.0541078e+04 8.4325165e+05 +209 0.426 2.8904923e+04 7.9345038e+05 +210 0.428 2.7365167e+04 7.4681454e+05 +211 0.43 2.5915698e+04 7.0312938e+05 +212 0.432 2.4550816e+04 6.6219564e+05 +213 0.434 2.3265205e+04 6.2382833e+05 +214 0.436 2.2053906e+04 5.8785568e+05 +215 0.438 2.0912292e+04 5.5411812e+05 +216 0.44 1.9836043e+04 5.2246739e+05 +217 0.442 1.8821123e+04 4.9276565e+05 +218 0.444 1.7863766e+04 4.6488477e+05 +219 0.446 1.6960450e+04 4.3870552e+05 +220 0.448 1.6107884e+04 4.1411700e+05 +221 0.45 1.5302991e+04 3.9101596e+05 +222 0.452 1.4542893e+04 3.6930630e+05 +223 0.454 1.3824898e+04 3.4889848e+05 +224 0.456 1.3146487e+04 3.2970912e+05 +225 0.458 1.2505301e+04 3.1166047e+05 +226 0.46 1.1899133e+04 2.9468009e+05 +227 0.462 1.1325913e+04 2.7870041e+05 +228 0.464 1.0783706e+04 2.6365840e+05 +229 0.466 1.0270694e+04 2.4949525e+05 +230 0.468 9.7851757e+03 2.3615606e+05 +231 0.47 9.3255547e+03 2.2358960e+05 +232 0.472 8.8903341e+03 2.1174800e+05 +233 0.474 8.4781093e+03 2.0058656e+05 +234 0.476 8.0875623e+03 1.9006348e+05 +235 0.478 7.7174559e+03 1.8013972e+05 +236 0.48 7.3666283e+03 1.7077877e+05 +237 0.482 7.0339884e+03 1.6194648e+05 +238 0.484 6.7185113e+03 1.5361090e+05 +239 0.486 6.4192336e+03 1.4574213e+05 +240 0.488 6.1352502e+03 1.3831220e+05 +241 0.49 5.8657098e+03 1.3129491e+05 +242 0.492 5.6098119e+03 1.2466571e+05 +243 0.494 5.3668036e+03 1.1840163e+05 +244 0.496 5.1359764e+03 1.1248112e+05 +245 0.498 4.9166635e+03 1.0688400e+05 +246 0.5 4.7082374e+03 1.0159134e+05 +247 0.502 4.5101071e+03 9.6585398e+04 +248 0.504 4.3217158e+03 9.1849521e+04 +249 0.506 4.1425394e+03 8.7368091e+04 +250 0.508 3.9720836e+03 8.3126447e+04 +251 0.51 3.8098829e+03 7.9110830e+04 +252 0.512 3.6554982e+03 7.5308317e+04 +253 0.514 3.5085157e+03 7.1706774e+04 +254 0.516 3.3685448e+03 6.8294800e+04 +255 0.518 3.2352172e+03 6.5061683e+04 +256 0.52 3.1081855e+03 6.1997355e+04 +257 0.522 2.9871216e+03 5.9092350e+04 +258 0.524 2.8717159e+03 5.6337769e+04 +259 0.526 2.7616759e+03 5.3725239e+04 +260 0.528 2.6567255e+03 5.1246885e+04 +261 0.53 2.5566038e+03 4.8895296e+04 +262 0.532 2.4610644e+03 4.6663498e+04 +263 0.534 2.3698744e+03 4.4544923e+04 +264 0.536 2.2828134e+03 4.2533388e+04 +265 0.538 2.1996733e+03 4.0623069e+04 +266 0.54 2.1202573e+03 3.8808479e+04 +267 0.542 2.0443791e+03 3.7084450e+04 +268 0.544 1.9718624e+03 3.5446108e+04 +269 0.546 1.9025406e+03 3.3888860e+04 +270 0.548 1.8362558e+03 3.2408375e+04 +271 0.55 1.7728586e+03 3.1000569e+04 +272 0.552 1.7122076e+03 2.9661588e+04 +273 0.554 1.6541688e+03 2.8387797e+04 +274 0.556 1.5986153e+03 2.7175766e+04 +275 0.558 1.5454267e+03 2.6022256e+04 +276 0.56 1.4944893e+03 2.4924210e+04 +277 0.562 1.4456948e+03 2.3878740e+04 +278 0.564 1.3989411e+03 2.2883121e+04 +279 0.566 1.3541309e+03 2.1934775e+04 +280 0.568 1.3111721e+03 2.1031270e+04 +281 0.57 1.2699774e+03 2.0170304e+04 +282 0.572 1.2304640e+03 1.9349703e+04 +283 0.574 1.1925531e+03 1.8567412e+04 +284 0.576 1.1561701e+03 1.7821487e+04 +285 0.578 1.1212441e+03 1.7110088e+04 +286 0.58 1.0877079e+03 1.6431475e+04 +287 0.582 1.0554974e+03 1.5784005e+04 +288 0.584 1.0245521e+03 1.5166117e+04 +289 0.586 9.9481424e+02 1.4576339e+04 +290 0.588 9.6622897e+02 1.4013273e+04 +291 0.59 9.3874422e+02 1.3475599e+04 +292 0.592 9.1231048e+02 1.2962064e+04 +293 0.594 8.8688066e+02 1.2471482e+04 +294 0.596 8.6241000e+02 1.2002731e+04 +295 0.598 8.3885590e+02 1.1554744e+04 +296 0.6 8.1617785e+02 1.1126512e+04 +297 0.602 7.9433732e+02 1.0717080e+04 +298 0.604 7.7329761e+02 1.0325540e+04 +299 0.606 7.5302381e+02 9.9510306e+03 +300 0.608 7.3348267e+02 9.5927373e+03 +301 0.61 7.1464256e+02 9.2498855e+03 +302 0.612 6.9647333e+02 8.9217407e+03 +303 0.614 6.7894626e+02 8.6076059e+03 +304 0.616 6.6203401e+02 8.3068195e+03 +305 0.618 6.4571050e+02 8.0187534e+03 +306 0.62 6.2995091e+02 7.7428113e+03 +307 0.622 6.1473155e+02 7.4784268e+03 +308 0.624 6.0002986e+02 7.2250618e+03 +309 0.626 5.8582430e+02 6.9822055e+03 +310 0.628 5.7209436e+02 6.7493721e+03 +311 0.63 5.5882044e+02 6.5261002e+03 +312 0.632 5.4598387e+02 6.3119513e+03 +313 0.634 5.3356683e+02 6.1065083e+03 +314 0.636 5.2155230e+02 5.9093748e+03 +315 0.638 5.0992404e+02 5.7201738e+03 +316 0.64 4.9866656e+02 5.5385467e+03 +317 0.642 4.8776504e+02 5.3641523e+03 +318 0.644 4.7720534e+02 5.1966662e+03 +319 0.646 4.6697397e+02 5.0357795e+03 +320 0.648 4.5705802e+02 4.8811983e+03 +321 0.65 4.4744516e+02 4.7326428e+03 +322 0.652 4.3812361e+02 4.5898466e+03 +323 0.654 4.2908210e+02 4.4525561e+03 +324 0.656 4.2030988e+02 4.3205297e+03 +325 0.658 4.1179663e+02 4.1935373e+03 +326 0.66 4.0353252e+02 4.0713597e+03 +327 0.662 3.9550812e+02 3.9537881e+03 +328 0.664 3.8771443e+02 3.8406234e+03 +329 0.666 3.8014282e+02 3.7316760e+03 +330 0.668 3.7278503e+02 3.6267650e+03 +331 0.67 3.6563318e+02 3.5257179e+03 +332 0.672 3.5867970e+02 3.4283706e+03 +333 0.674 3.5191734e+02 3.3345660e+03 +334 0.676 3.4533917e+02 3.2441547e+03 +335 0.678 3.3893855e+02 3.1569940e+03 +336 0.68 3.3270912e+02 3.0729478e+03 +337 0.682 3.2664477e+02 2.9918861e+03 +338 0.684 3.2073967e+02 2.9136850e+03 +339 0.686 3.1498820e+02 2.8382261e+03 +340 0.688 3.0938501e+02 2.7653965e+03 +341 0.69 3.0392494e+02 2.6950881e+03 +342 0.692 2.9860304e+02 2.6271981e+03 +343 0.694 2.9341460e+02 2.5616278e+03 +344 0.696 2.8835505e+02 2.4982834e+03 +345 0.698 2.8342004e+02 2.4370750e+03 +346 0.7 2.7860538e+02 2.3779167e+03 +347 0.702 2.7390706e+02 2.3207266e+03 +348 0.704 2.6932122e+02 2.2654260e+03 +349 0.706 2.6484415e+02 2.2119402e+03 +350 0.708 2.6047229e+02 2.1601974e+03 +351 0.71 2.5620224e+02 2.1101290e+03 +352 0.712 2.5203070e+02 2.0616695e+03 +353 0.714 2.4795453e+02 2.0147561e+03 +354 0.716 2.4397069e+02 1.9693289e+03 +355 0.718 2.4007626e+02 1.9253304e+03 +356 0.72 2.3626845e+02 1.8827057e+03 +357 0.722 2.3254456e+02 1.8414021e+03 +358 0.724 2.2890200e+02 1.8013694e+03 +359 0.726 2.2533827e+02 1.7625593e+03 +360 0.728 2.2185098e+02 1.7249256e+03 +361 0.73 2.1843781e+02 1.6884242e+03 +362 0.732 2.1509655e+02 1.6530127e+03 +363 0.734 2.1182506e+02 1.6186505e+03 +364 0.736 2.0862128e+02 1.5852988e+03 +365 0.738 2.0548322e+02 1.5529203e+03 +366 0.74 2.0240897e+02 1.5214794e+03 +367 0.742 1.9939670e+02 1.4909417e+03 +368 0.744 1.9644462e+02 1.4612746e+03 +369 0.746 1.9355104e+02 1.4324465e+03 +370 0.748 1.9071430e+02 1.4044273e+03 +371 0.75 1.8793281e+02 1.3771880e+03 +372 0.752 1.8520504e+02 1.3507010e+03 +373 0.754 1.8252952e+02 1.3249395e+03 +374 0.756 1.7990482e+02 1.2998781e+03 +375 0.758 1.7732956e+02 1.2754921e+03 +376 0.76 1.7480242e+02 1.2517582e+03 +377 0.762 1.7232211e+02 1.2286536e+03 +378 0.764 1.6988740e+02 1.2061568e+03 +379 0.766 1.6749709e+02 1.1842468e+03 +380 0.768 1.6515003e+02 1.1629037e+03 +381 0.77 1.6284511e+02 1.1421083e+03 +382 0.772 1.6058125e+02 1.1218421e+03 +383 0.774 1.5835740e+02 1.1020873e+03 +384 0.776 1.5617257e+02 1.0828270e+03 +385 0.778 1.5402577e+02 1.0640447e+03 +386 0.78 1.5191608e+02 1.0457247e+03 +387 0.782 1.4984258e+02 1.0278519e+03 +388 0.784 1.4780438e+02 1.0104117e+03 +389 0.786 1.4580065e+02 9.9339015e+02 +390 0.788 1.4383055e+02 9.7677373e+02 +391 0.79 1.4189329e+02 9.6054951e+02 +392 0.792 1.3998810e+02 9.4470503e+02 +393 0.794 1.3811423e+02 9.2922831e+02 +394 0.796 1.3627095e+02 9.1410780e+02 +395 0.798 1.3445757e+02 8.9933239e+02 +396 0.8 1.3267340e+02 8.8489139e+02 +397 0.802 1.3091779e+02 8.7077450e+02 +398 0.804 1.2919009e+02 8.5697181e+02 +399 0.806 1.2748970e+02 8.4347376e+02 +400 0.808 1.2581600e+02 8.3027116e+02 +401 0.81 1.2416842e+02 8.1735514e+02 +402 0.812 1.2254639e+02 8.0471716e+02 +403 0.814 1.2094937e+02 7.9234898e+02 +404 0.816 1.1937682e+02 7.8024267e+02 +405 0.818 1.1782823e+02 7.6839058e+02 +406 0.82 1.1630310e+02 7.5678534e+02 +407 0.822 1.1480093e+02 7.4541982e+02 +408 0.824 1.1332126e+02 7.3428717e+02 +409 0.826 1.1186363e+02 7.2338077e+02 +410 0.828 1.1042759e+02 7.1269422e+02 +411 0.83 1.0901271e+02 7.0222137e+02 +412 0.832 1.0761857e+02 6.9195627e+02 +413 0.834 1.0624475e+02 6.8189317e+02 +414 0.836 1.0489086e+02 6.7202654e+02 +415 0.838 1.0355652e+02 6.6235100e+02 +416 0.84 1.0224134e+02 6.5286141e+02 +417 0.842 1.0094495e+02 6.4355275e+02 +418 0.844 9.9667008e+01 6.3442021e+02 +419 0.846 9.8407157e+01 6.2545913e+02 +420 0.848 9.7165060e+01 6.1666499e+02 +421 0.85 9.5940388e+01 6.0803343e+02 +422 0.852 9.4732821e+01 5.9956026e+02 +423 0.854 9.3542044e+01 5.9124140e+02 +424 0.856 9.2367755e+01 5.8307290e+02 +425 0.858 9.1209655e+01 5.7505097e+02 +426 0.86 9.0067456e+01 5.6717191e+02 +427 0.862 8.8940874e+01 5.5943217e+02 +428 0.864 8.7829636e+01 5.5182828e+02 +429 0.866 8.6733473e+01 5.4435691e+02 +430 0.868 8.5652123e+01 5.3701484e+02 +431 0.87 8.4585330e+01 5.2979891e+02 +432 0.872 8.3532845e+01 5.2270612e+02 +433 0.874 8.2494425e+01 5.1573352e+02 +434 0.876 8.1469832e+01 5.0887826e+02 +435 0.878 8.0458836e+01 5.0213758e+02 +436 0.88 7.9461208e+01 4.9550883e+02 +437 0.882 7.8476727e+01 4.8898941e+02 +438 0.884 7.7505179e+01 4.8257680e+02 +439 0.886 7.6546351e+01 4.7626858e+02 +440 0.888 7.5600036e+01 4.7006239e+02 +441 0.89 7.4666034e+01 4.6395593e+02 +442 0.892 7.3744148e+01 4.5794699e+02 +443 0.894 7.2834183e+01 4.5203342e+02 +444 0.896 7.1935952e+01 4.4621311e+02 +445 0.898 7.1049270e+01 4.4048405e+02 +446 0.9 7.0173956e+01 4.3484425e+02 +447 0.902 6.9309834e+01 4.2929182e+02 +448 0.904 6.8456732e+01 4.2382488e+02 +449 0.906 6.7614479e+01 4.1844165e+02 +450 0.908 6.6782911e+01 4.1314035e+02 +451 0.91 6.5961864e+01 4.0791929e+02 +452 0.912 6.5151181e+01 4.0277682e+02 +453 0.914 6.4350706e+01 3.9771133e+02 +454 0.916 6.3560285e+01 3.9272124e+02 +455 0.918 6.2779771e+01 3.8780504e+02 +456 0.92 6.2009017e+01 3.8296125e+02 +457 0.922 6.1247879e+01 3.7818844e+02 +458 0.924 6.0496217e+01 3.7348519e+02 +459 0.926 5.9753893e+01 3.6885016e+02 +460 0.928 5.9020772e+01 3.6428200e+02 +461 0.93 5.8296721e+01 3.5977945e+02 +462 0.932 5.7581611e+01 3.5534122e+02 +463 0.934 5.6875314e+01 3.5096611e+02 +464 0.936 5.6177705e+01 3.4665292e+02 +465 0.938 5.5488662e+01 3.4240050e+02 +466 0.94 5.4808064e+01 3.3820770e+02 +467 0.942 5.4135792e+01 3.3407344e+02 +468 0.944 5.3471731e+01 3.2999662e+02 +469 0.946 5.2815768e+01 3.2597622e+02 +470 0.948 5.2167790e+01 3.2201121e+02 +471 0.95 5.1527687e+01 3.1810059e+02 +472 0.952 5.0895352e+01 3.1424339e+02 +473 0.954 5.0270678e+01 3.1043867e+02 +474 0.956 4.9653563e+01 3.0668550e+02 +475 0.958 4.9043903e+01 3.0298299e+02 +476 0.96 4.8441597e+01 2.9933025e+02 +477 0.962 4.7846549e+01 2.9572642e+02 +478 0.964 4.7258660e+01 2.9217067e+02 +479 0.966 4.6677835e+01 2.8866218e+02 +480 0.968 4.6103980e+01 2.8520015e+02 +481 0.97 4.5537004e+01 2.8178380e+02 +482 0.972 4.4976815e+01 2.7841236e+02 +483 0.974 4.4423325e+01 2.7508510e+02 +484 0.976 4.3876446e+01 2.7180128e+02 +485 0.978 4.3336091e+01 2.6856019e+02 +486 0.98 4.2802177e+01 2.6536114e+02 +487 0.982 4.2274619e+01 2.6220345e+02 +488 0.984 4.1753336e+01 2.5908645e+02 +489 0.986 4.1238247e+01 2.5600949e+02 +490 0.988 4.0729272e+01 2.5297194e+02 +491 0.99 4.0226333e+01 2.4997317e+02 +492 0.992 3.9729354e+01 2.4701257e+02 +493 0.994 3.9238258e+01 2.4408956e+02 +494 0.996 3.8752971e+01 2.4120354e+02 +495 0.998 3.8273419e+01 2.3835394e+02 +496 1.0 3.7799531e+01 2.3554021e+02 +497 1.002 3.7331235e+01 2.3276180e+02 +498 1.004 3.6868461e+01 2.3001817e+02 +499 1.006 3.6411139e+01 2.2730880e+02 +500 1.008 3.5959203e+01 2.2463317e+02 +501 1.01 3.5512584e+01 2.2199078e+02 +502 1.012 3.5071218e+01 2.1938113e+02 +503 1.014 3.4635038e+01 2.1680374e+02 +504 1.016 3.4203982e+01 2.1425815e+02 +505 1.018 3.3777985e+01 2.1174387e+02 +506 1.02 3.3356986e+01 2.0926046e+02 +507 1.022 3.2940923e+01 2.0680746e+02 +508 1.024 3.2529736e+01 2.0438445e+02 +509 1.026 3.2123365e+01 2.0199099e+02 +510 1.028 3.1721753e+01 1.9962665e+02 +511 1.03 3.1324840e+01 1.9729103e+02 +512 1.032 3.0932569e+01 1.9498372e+02 +513 1.034 3.0544886e+01 1.9270432e+02 +514 1.036 3.0161734e+01 1.9045243e+02 +515 1.038 2.9783058e+01 1.8822768e+02 +516 1.04 2.9408805e+01 1.8602968e+02 +517 1.042 2.9038922e+01 1.8385807e+02 +518 1.044 2.8673356e+01 1.8171249e+02 +519 1.046 2.8312055e+01 1.7959257e+02 +520 1.048 2.7954969e+01 1.7749796e+02 +521 1.05 2.7602046e+01 1.7542833e+02 +522 1.052 2.7253239e+01 1.7338333e+02 +523 1.054 2.6908497e+01 1.7136262e+02 +524 1.056 2.6567772e+01 1.6936590e+02 +525 1.058 2.6231018e+01 1.6739282e+02 +526 1.06 2.5898186e+01 1.6544308e+02 +527 1.062 2.5569230e+01 1.6351637e+02 +528 1.064 2.5244105e+01 1.6161238e+02 +529 1.066 2.4922765e+01 1.5973081e+02 +530 1.068 2.4605167e+01 1.5787137e+02 +531 1.07 2.4291265e+01 1.5603376e+02 +532 1.072 2.3981017e+01 1.5421771e+02 +533 1.074 2.3674380e+01 1.5242293e+02 +534 1.076 2.3371312e+01 1.5064914e+02 +535 1.078 2.3071770e+01 1.4889607e+02 +536 1.08 2.2775714e+01 1.4716347e+02 +537 1.082 2.2483103e+01 1.4545106e+02 +538 1.084 2.2193896e+01 1.4375858e+02 +539 1.086 2.1908055e+01 1.4208578e+02 +540 1.088 2.1625540e+01 1.4043242e+02 +541 1.09 2.1346313e+01 1.3879824e+02 +542 1.092 2.1070335e+01 1.3718300e+02 +543 1.094 2.0797568e+01 1.3558646e+02 +544 1.096 2.0527976e+01 1.3400840e+02 +545 1.098 2.0261523e+01 1.3244856e+02 +546 1.1 1.9998170e+01 1.3090674e+02 +547 1.102 1.9737884e+01 1.2938270e+02 +548 1.104 1.9480628e+01 1.2787622e+02 +549 1.106 1.9226367e+01 1.2638708e+02 +550 1.108 1.8975068e+01 1.2491508e+02 +551 1.11 1.8726696e+01 1.2345999e+02 +552 1.112 1.8481217e+01 1.2202161e+02 +553 1.114 1.8238598e+01 1.2059974e+02 +554 1.116 1.7998807e+01 1.1919417e+02 +555 1.118 1.7761811e+01 1.1780470e+02 +556 1.12 1.7527578e+01 1.1643114e+02 +557 1.122 1.7296076e+01 1.1507329e+02 +558 1.124 1.7067274e+01 1.1373096e+02 +559 1.126 1.6841142e+01 1.1240397e+02 +560 1.128 1.6617648e+01 1.1109213e+02 +561 1.13 1.6396763e+01 1.0979525e+02 +562 1.132 1.6178457e+01 1.0851316e+02 +563 1.134 1.5962701e+01 1.0724568e+02 +564 1.136 1.5749465e+01 1.0599263e+02 +565 1.138 1.5538721e+01 1.0475385e+02 +566 1.14 1.5330440e+01 1.0352915e+02 +567 1.142 1.5124595e+01 1.0231837e+02 +568 1.144 1.4921158e+01 1.0112136e+02 +569 1.146 1.4720100e+01 9.9937933e+01 +570 1.148 1.4521397e+01 9.8767942e+01 +571 1.15 1.4325020e+01 9.7611224e+01 +572 1.152 1.4130943e+01 9.6467623e+01 +573 1.154 1.3939141e+01 9.5336985e+01 +574 1.156 1.3749587e+01 9.4219156e+01 +575 1.158 1.3562256e+01 9.3113986e+01 +576 1.16 1.3377122e+01 9.2021327e+01 +577 1.162 1.3194162e+01 9.0941032e+01 +578 1.164 1.3013350e+01 8.9872956e+01 +579 1.166 1.2834662e+01 8.8816958e+01 +580 1.168 1.2658074e+01 8.7772895e+01 +581 1.17 1.2483563e+01 8.6740629e+01 +582 1.172 1.2311104e+01 8.5720023e+01 +583 1.174 1.2140675e+01 8.4710942e+01 +584 1.176 1.1972253e+01 8.3713252e+01 +585 1.178 1.1805815e+01 8.2726821e+01 +586 1.18 1.1641338e+01 8.1751518e+01 +587 1.182 1.1478801e+01 8.0787216e+01 +588 1.184 1.1318182e+01 7.9833788e+01 +589 1.186 1.1159459e+01 7.8891108e+01 +590 1.188 1.1002610e+01 7.7959053e+01 +591 1.19 1.0847616e+01 7.7037500e+01 +592 1.192 1.0694453e+01 7.6126330e+01 +593 1.194 1.0543103e+01 7.5225422e+01 +594 1.196 1.0393545e+01 7.4334660e+01 +595 1.198 1.0245758e+01 7.3453928e+01 +596 1.2 1.0099723e+01 7.2583111e+01 +597 1.202 9.9554191e+00 7.1722095e+01 +598 1.204 9.8128278e+00 7.0870770e+01 +599 1.206 9.6719296e+00 7.0029025e+01 +600 1.208 9.5327054e+00 6.9196750e+01 +601 1.21 9.3951364e+00 6.8373838e+01 +602 1.212 9.2592039e+00 6.7560184e+01 +603 1.214 9.1248896e+00 6.6755681e+01 +604 1.216 8.9921751e+00 6.5960226e+01 +605 1.218 8.8610427e+00 6.5173717e+01 +606 1.22 8.7314744e+00 6.4396053e+01 +607 1.222 8.6034526e+00 6.3627133e+01 +608 1.224 8.4769601e+00 6.2866859e+01 +609 1.226 8.3519795e+00 6.2115133e+01 +610 1.228 8.2284939e+00 6.1371859e+01 +611 1.23 8.1064865e+00 6.0636942e+01 +612 1.232 7.9859406e+00 5.9910287e+01 +613 1.234 7.8668399e+00 5.9191802e+01 +614 1.236 7.7491681e+00 5.8481395e+01 +615 1.238 7.6329090e+00 5.7778974e+01 +616 1.24 7.5180469e+00 5.7084452e+01 +617 1.242 7.4045660e+00 5.6397738e+01 +618 1.244 7.2924508e+00 5.5718746e+01 +619 1.246 7.1816859e+00 5.5047388e+01 +620 1.248 7.0722562e+00 5.4383580e+01 +621 1.25 6.9641466e+00 5.3727237e+01 +622 1.252 6.8573423e+00 5.3078275e+01 +623 1.254 6.7518287e+00 5.2436613e+01 +624 1.256 6.6475911e+00 5.1802168e+01 +625 1.258 6.5446152e+00 5.1174860e+01 +626 1.26 6.4428869e+00 5.0554609e+01 +627 1.262 6.3423921e+00 4.9941338e+01 +628 1.264 6.2431170e+00 4.9334967e+01 +629 1.266 6.1450477e+00 4.8735421e+01 +630 1.268 6.0481708e+00 4.8142622e+01 +631 1.27 5.9524728e+00 4.7556497e+01 +632 1.272 5.8579404e+00 4.6976971e+01 +633 1.274 5.7645605e+00 4.6403971e+01 +634 1.276 5.6723202e+00 4.5837424e+01 +635 1.278 5.5812066e+00 4.5277258e+01 +636 1.28 5.4912070e+00 4.4723403e+01 +637 1.282 5.4023088e+00 4.4175789e+01 +638 1.284 5.3144997e+00 4.3634346e+01 +639 1.286 5.2277674e+00 4.3099007e+01 +640 1.288 5.1420997e+00 4.2569703e+01 +641 1.29 5.0574846e+00 4.2046367e+01 +642 1.292 4.9739103e+00 4.1528934e+01 +643 1.294 4.8913650e+00 4.1017339e+01 +644 1.296 4.8098371e+00 4.0511516e+01 +645 1.298 4.7293151e+00 4.0011402e+01 +646 1.3 4.6497877e+00 3.9516934e+01 +647 1.302 4.5712436e+00 3.9028049e+01 +648 1.304 4.4936718e+00 3.8544685e+01 +649 1.306 4.4170612e+00 3.8066783e+01 +650 1.308 4.3414011e+00 3.7594280e+01 +651 1.31 4.2666806e+00 3.7127119e+01 +652 1.312 4.1928891e+00 3.6665239e+01 +653 1.314 4.1200161e+00 3.6208583e+01 +654 1.316 4.0480513e+00 3.5757093e+01 +655 1.318 3.9769843e+00 3.5310712e+01 +656 1.32 3.9068051e+00 3.4869383e+01 +657 1.322 3.8375035e+00 3.4433051e+01 +658 1.324 3.7690696e+00 3.4001661e+01 +659 1.326 3.7014936e+00 3.3575159e+01 +660 1.328 3.6347657e+00 3.3153490e+01 +661 1.33 3.5688764e+00 3.2736602e+01 +662 1.332 3.5038162e+00 3.2324441e+01 +663 1.334 3.4395755e+00 3.1916956e+01 +664 1.336 3.3761453e+00 3.1514096e+01 +665 1.338 3.3135161e+00 3.1115808e+01 +666 1.34 3.2516790e+00 3.0722044e+01 +667 1.342 3.1906250e+00 3.0332753e+01 +668 1.344 3.1303451e+00 2.9947886e+01 +669 1.346 3.0708305e+00 2.9567394e+01 +670 1.348 3.0120726e+00 2.9191230e+01 +671 1.35 2.9540627e+00 2.8819345e+01 +672 1.352 2.8967924e+00 2.8451693e+01 +673 1.354 2.8402532e+00 2.8088228e+01 +674 1.356 2.7844367e+00 2.7728902e+01 +675 1.358 2.7293348e+00 2.7373671e+01 +676 1.36 2.6749393e+00 2.7022489e+01 +677 1.362 2.6212422e+00 2.6675313e+01 +678 1.364 2.5682354e+00 2.6332098e+01 +679 1.366 2.5159112e+00 2.5992800e+01 +680 1.368 2.4642617e+00 2.5657377e+01 +681 1.37 2.4132791e+00 2.5325785e+01 +682 1.372 2.3629560e+00 2.4997984e+01 +683 1.374 2.3132847e+00 2.4673931e+01 +684 1.376 2.2642578e+00 2.4353585e+01 +685 1.378 2.2158679e+00 2.4036905e+01 +686 1.38 2.1681078e+00 2.3723852e+01 +687 1.382 2.1209701e+00 2.3414384e+01 +688 1.384 2.0744479e+00 2.3108464e+01 +689 1.386 2.0285339e+00 2.2806051e+01 +690 1.388 1.9832213e+00 2.2507108e+01 +691 1.39 1.9385032e+00 2.2211596e+01 +692 1.392 1.8943727e+00 2.1919477e+01 +693 1.394 1.8508231e+00 2.1630715e+01 +694 1.396 1.8078476e+00 2.1345273e+01 +695 1.398 1.7654398e+00 2.1063113e+01 +696 1.4 1.7235930e+00 2.0784200e+01 +697 1.402 1.6823008e+00 2.0508499e+01 +698 1.404 1.6415569e+00 2.0235973e+01 +699 1.406 1.6013549e+00 1.9966589e+01 +700 1.408 1.5616885e+00 1.9700311e+01 +701 1.41 1.5225516e+00 1.9437105e+01 +702 1.412 1.4839380e+00 1.9176938e+01 +703 1.414 1.4458418e+00 1.8919777e+01 +704 1.416 1.4082569e+00 1.8665588e+01 +705 1.418 1.3711775e+00 1.8414338e+01 +706 1.42 1.3345976e+00 1.8165996e+01 +707 1.422 1.2985116e+00 1.7920529e+01 +708 1.424 1.2629136e+00 1.7677905e+01 +709 1.426 1.2277981e+00 1.7438095e+01 +710 1.428 1.1931594e+00 1.7201065e+01 +711 1.43 1.1589920e+00 1.6966787e+01 +712 1.432 1.1252904e+00 1.6735229e+01 +713 1.434 1.0920493e+00 1.6506362e+01 +714 1.436 1.0592632e+00 1.6280157e+01 +715 1.438 1.0269269e+00 1.6056583e+01 +716 1.44 9.9503515e-01 1.5835612e+01 +717 1.442 9.6358275e-01 1.5617216e+01 +718 1.444 9.3256459e-01 1.5401365e+01 +719 1.446 9.0197561e-01 1.5188033e+01 +720 1.448 8.7181080e-01 1.4977190e+01 +721 1.45 8.4206521e-01 1.4768811e+01 +722 1.452 8.1273393e-01 1.4562867e+01 +723 1.454 7.8381213e-01 1.4359332e+01 +724 1.456 7.5529502e-01 1.4158179e+01 +725 1.458 7.2717784e-01 1.3959383e+01 +726 1.46 6.9945593e-01 1.3762916e+01 +727 1.462 6.7212464e-01 1.3568754e+01 +728 1.464 6.4517939e-01 1.3376871e+01 +729 1.466 6.1861565e-01 1.3187242e+01 +730 1.468 5.9242894e-01 1.2999843e+01 +731 1.47 5.6661481e-01 1.2814647e+01 +732 1.472 5.4116890e-01 1.2631632e+01 +733 1.474 5.1608685e-01 1.2450773e+01 +734 1.476 4.9136438e-01 1.2272046e+01 +735 1.478 4.6699726e-01 1.2095428e+01 +736 1.48 4.4298128e-01 1.1920895e+01 +737 1.482 4.1931230e-01 1.1748425e+01 +738 1.484 3.9598622e-01 1.1577995e+01 +739 1.486 3.7299898e-01 1.1409582e+01 +740 1.488 3.5034657e-01 1.1243163e+01 +741 1.49 3.2802501e-01 1.1078718e+01 +742 1.492 3.0603039e-01 1.0916223e+01 +743 1.494 2.8435883e-01 1.0755658e+01 +744 1.496 2.6300649e-01 1.0597001e+01 +745 1.498 2.4196957e-01 1.0440231e+01 +746 1.5 2.2124432e-01 1.0285328e+01 +747 1.502 2.0082703e-01 1.0132269e+01 +748 1.504 1.8071403e-01 9.9810359e+00 +749 1.506 1.6090168e-01 9.8316074e+00 +750 1.508 1.4138641e-01 9.6839637e+00 +751 1.51 1.2216465e-01 9.5380851e+00 +752 1.512 1.0323290e-01 9.3939520e+00 +753 1.514 8.4587691e-02 9.2515450e+00 +754 1.516 6.6225584e-02 9.1108450e+00 +755 1.518 4.8143186e-02 8.9718331e+00 +756 1.52 3.0337139e-02 8.8344905e+00 +757 1.522 1.2804123e-02 8.6987988e+00 +758 1.524 -4.4591446e-03 8.5647395e+00 +759 1.526 -2.1455911e-02 8.4322946e+00 +760 1.528 -3.8189387e-02 8.3014461e+00 +761 1.53 -5.4662748e-02 8.1721763e+00 +762 1.532 -7.0879133e-02 8.0444676e+00 +763 1.534 -8.6841648e-02 7.9183027e+00 +764 1.536 -1.0255336e-01 7.7936645e+00 +765 1.538 -1.1801731e-01 7.6705358e+00 +766 1.54 -1.3323650e-01 7.5489000e+00 +767 1.542 -1.4821390e-01 7.4287404e+00 +768 1.544 -1.6295243e-01 7.3100405e+00 +769 1.546 -1.7745502e-01 7.1927842e+00 +770 1.548 -1.9172452e-01 7.0769553e+00 +771 1.55 -2.0576378e-01 6.9625378e+00 +772 1.552 -2.1957561e-01 6.8495162e+00 +773 1.554 -2.3316277e-01 6.7378747e+00 +774 1.556 -2.4652801e-01 6.6275981e+00 +775 1.558 -2.5967406e-01 6.5186710e+00 +776 1.56 -2.7260359e-01 6.4110783e+00 +777 1.562 -2.8531925e-01 6.3048053e+00 +778 1.564 -2.9782368e-01 6.1998371e+00 +779 1.566 -3.1011946e-01 6.0961591e+00 +780 1.568 -3.2220917e-01 5.9937570e+00 +781 1.57 -3.3409533e-01 5.8926163e+00 +782 1.572 -3.4578046e-01 5.7927231e+00 +783 1.574 -3.5726704e-01 5.6940634e+00 +784 1.576 -3.6855753e-01 5.5966233e+00 +785 1.578 -3.7965434e-01 5.5003891e+00 +786 1.58 -3.9055988e-01 5.4053474e+00 +787 1.582 -4.0127652e-01 5.3114848e+00 +788 1.584 -4.1180660e-01 5.2187880e+00 +789 1.586 -4.2215244e-01 5.1272440e+00 +790 1.588 -4.3231633e-01 5.0368398e+00 +791 1.59 -4.4230055e-01 4.9475627e+00 +792 1.592 -4.5210733e-01 4.8593998e+00 +793 1.594 -4.6173888e-01 4.7723388e+00 +794 1.596 -4.7119741e-01 4.6863673e+00 +795 1.598 -4.8048507e-01 4.6014729e+00 +796 1.6 -4.8960401e-01 4.5176435e+00 +797 1.602 -4.9855635e-01 4.4348672e+00 +798 1.604 -5.0734417e-01 4.3531321e+00 +799 1.606 -5.1596956e-01 4.2724264e+00 +800 1.608 -5.2443456e-01 4.1927385e+00 +801 1.61 -5.3274119e-01 4.1140571e+00 +802 1.612 -5.4089145e-01 4.0363706e+00 +803 1.614 -5.4888732e-01 3.9596678e+00 +804 1.616 -5.5673077e-01 3.8839377e+00 +805 1.618 -5.6442372e-01 3.8091693e+00 +806 1.62 -5.7196808e-01 3.7353516e+00 +807 1.622 -5.7936575e-01 3.6624740e+00 +808 1.624 -5.8661859e-01 3.5905257e+00 +809 1.626 -5.9372846e-01 3.5194962e+00 +810 1.628 -6.0069718e-01 3.4493752e+00 +811 1.63 -6.0752656e-01 3.3801524e+00 +812 1.632 -6.1421839e-01 3.3118175e+00 +813 1.634 -6.2077442e-01 3.2443604e+00 +814 1.636 -6.2719641e-01 3.1777713e+00 +815 1.638 -6.3348608e-01 3.1120402e+00 +816 1.64 -6.3964513e-01 3.0471574e+00 +817 1.642 -6.4567526e-01 2.9831133e+00 +818 1.644 -6.5157814e-01 2.9198982e+00 +819 1.646 -6.5735540e-01 2.8575028e+00 +820 1.648 -6.6300869e-01 2.7959178e+00 +821 1.65 -6.6853961e-01 2.7351338e+00 +822 1.652 -6.7394975e-01 2.6751418e+00 +823 1.654 -6.7924070e-01 2.6159328e+00 +824 1.656 -6.8441400e-01 2.5574977e+00 +825 1.658 -6.8947120e-01 2.4998278e+00 +826 1.66 -6.9441382e-01 2.4429142e+00 +827 1.662 -6.9924335e-01 2.3867485e+00 +828 1.664 -7.0396130e-01 2.3313219e+00 +829 1.666 -7.0856913e-01 2.2766260e+00 +830 1.668 -7.1306829e-01 2.2226526e+00 +831 1.67 -7.1746022e-01 2.1693932e+00 +832 1.672 -7.2174633e-01 2.1168397e+00 +833 1.674 -7.2592804e-01 2.0649840e+00 +834 1.676 -7.3000673e-01 2.0138181e+00 +835 1.678 -7.3398377e-01 1.9633341e+00 +836 1.68 -7.3786051e-01 1.9135241e+00 +837 1.682 -7.4163831e-01 1.8643803e+00 +838 1.684 -7.4531847e-01 1.8158952e+00 +839 1.686 -7.4890232e-01 1.7680610e+00 +840 1.688 -7.5239115e-01 1.7208704e+00 +841 1.69 -7.5578623e-01 1.6743159e+00 +842 1.692 -7.5908883e-01 1.6283901e+00 +843 1.694 -7.6230020e-01 1.5830858e+00 +844 1.696 -7.6542158e-01 1.5383959e+00 +845 1.698 -7.6845419e-01 1.4943131e+00 +846 1.7 -7.7139923e-01 1.4508305e+00 +847 1.702 -7.7425791e-01 1.4079412e+00 +848 1.704 -7.7703139e-01 1.3656382e+00 +849 1.706 -7.7972085e-01 1.3239148e+00 +850 1.708 -7.8232743e-01 1.2827642e+00 +851 1.71 -7.8485228e-01 1.2421798e+00 +852 1.712 -7.8729652e-01 1.2021551e+00 +853 1.714 -7.8966127e-01 1.1626834e+00 +854 1.716 -7.9194762e-01 1.1237584e+00 +855 1.718 -7.9415666e-01 1.0853738e+00 +856 1.72 -7.9628947e-01 1.0475231e+00 +857 1.722 -7.9834711e-01 1.0102003e+00 +858 1.724 -8.0033062e-01 9.7339903e-01 +859 1.726 -8.0224105e-01 9.3711334e-01 +860 1.728 -8.0407941e-01 9.0133718e-01 +861 1.73 -8.0584673e-01 8.6606457e-01 +862 1.732 -8.0754400e-01 8.3128964e-01 +863 1.734 -8.0917222e-01 7.9700654e-01 +864 1.736 -8.1073236e-01 7.6320953e-01 +865 1.738 -8.1222538e-01 7.2989289e-01 +866 1.74 -8.1365224e-01 6.9705099e-01 +867 1.742 -8.1501389e-01 6.6467825e-01 +868 1.744 -8.1631127e-01 6.3276916e-01 +869 1.746 -8.1754528e-01 6.0131827e-01 +870 1.748 -8.1871684e-01 5.7032017e-01 +871 1.75 -8.1982686e-01 5.3976953e-01 +872 1.752 -8.2087621e-01 5.0966108e-01 +873 1.754 -8.2186579e-01 4.7998959e-01 +874 1.756 -8.2279646e-01 4.5074991e-01 +875 1.758 -8.2366908e-01 4.2193693e-01 +876 1.76 -8.2448449e-01 3.9354560e-01 +877 1.762 -8.2524354e-01 3.6557092e-01 +878 1.764 -8.2594705e-01 3.3800797e-01 +879 1.766 -8.2659584e-01 3.1085185e-01 +880 1.768 -8.2719072e-01 2.8409773e-01 +881 1.77 -8.2773249e-01 2.5774084e-01 +882 1.772 -8.2822195e-01 2.3177645e-01 +883 1.774 -8.2865986e-01 2.0619990e-01 +884 1.776 -8.2904700e-01 1.8100655e-01 +885 1.778 -8.2938414e-01 1.5619184e-01 +886 1.78 -8.2967202e-01 1.3175126e-01 +887 1.782 -8.2991139e-01 1.0768032e-01 +888 1.784 -8.3010298e-01 8.3974615e-02 +889 1.786 -8.3024753e-01 6.0629767e-02 +890 1.788 -8.3034574e-01 3.7641455e-02 +891 1.79 -8.3039833e-01 1.5005403e-02 +892 1.792 -8.3040599e-01 -7.2826174e-03 +893 1.794 -8.3036943e-01 -2.9226788e-02 +894 1.796 -8.3028931e-01 -5.0831243e-02 +895 1.798 -8.3016633e-01 -7.2100073e-02 +896 1.8 -8.3000113e-01 -9.3037321e-02 +897 1.802 -8.2979440e-01 -1.1364699e-01 +898 1.804 -8.2954676e-01 -1.3393303e-01 +899 1.806 -8.2925888e-01 -1.5389935e-01 +900 1.808 -8.2893137e-01 -1.7354983e-01 +901 1.81 -8.2856489e-01 -1.9288828e-01 +902 1.812 -8.2816003e-01 -2.1191849e-01 +903 1.814 -8.2771741e-01 -2.3064421e-01 +904 1.816 -8.2723765e-01 -2.4906912e-01 +905 1.818 -8.2672134e-01 -2.6719689e-01 +906 1.82 -8.2616906e-01 -2.8503114e-01 +907 1.822 -8.2558140e-01 -3.0257544e-01 +908 1.824 -8.2495895e-01 -3.1983333e-01 +909 1.826 -8.2430226e-01 -3.3680830e-01 +910 1.828 -8.2361190e-01 -3.5350382e-01 +911 1.83 -8.2288843e-01 -3.6992331e-01 +912 1.832 -8.2213239e-01 -3.8607015e-01 +913 1.834 -8.2134433e-01 -4.0194769e-01 +914 1.836 -8.2052478e-01 -4.1755922e-01 +915 1.838 -8.1967427e-01 -4.3290803e-01 +916 1.84 -8.1879332e-01 -4.4799735e-01 +917 1.842 -8.1788245e-01 -4.6283037e-01 +918 1.844 -8.1694216e-01 -4.7741026e-01 +919 1.846 -8.1597297e-01 -4.9174014e-01 +920 1.848 -8.1497537e-01 -5.0582311e-01 +921 1.85 -8.1394984e-01 -5.1966222e-01 +922 1.852 -8.1289688e-01 -5.3326050e-01 +923 1.854 -8.1181696e-01 -5.4662093e-01 +924 1.856 -8.1071055e-01 -5.5974648e-01 +925 1.858 -8.0957813e-01 -5.7264007e-01 +926 1.86 -8.0842015e-01 -5.8530458e-01 +927 1.862 -8.0723706e-01 -5.9774287e-01 +928 1.864 -8.0602932e-01 -6.0995777e-01 +929 1.866 -8.0479738e-01 -6.2195208e-01 +930 1.868 -8.0354166e-01 -6.3372855e-01 +931 1.87 -8.0226261e-01 -6.4528992e-01 +932 1.872 -8.0096064e-01 -6.5663889e-01 +933 1.874 -7.9963619e-01 -6.6777812e-01 +934 1.876 -7.9828967e-01 -6.7871027e-01 +935 1.878 -7.9692149e-01 -6.8943793e-01 +936 1.88 -7.9553205e-01 -6.9996370e-01 +937 1.882 -7.9412176e-01 -7.1029012e-01 +938 1.884 -7.9269102e-01 -7.2041971e-01 +939 1.886 -7.9124021e-01 -7.3035498e-01 +940 1.888 -7.8976973e-01 -7.4009839e-01 +941 1.89 -7.8827995e-01 -7.4965238e-01 +942 1.892 -7.8677124e-01 -7.5901936e-01 +943 1.894 -7.8524399e-01 -7.6820171e-01 +944 1.896 -7.8369856e-01 -7.7720179e-01 +945 1.898 -7.8213531e-01 -7.8602194e-01 +946 1.9 -7.8055459e-01 -7.9466445e-01 +947 1.902 -7.7895676e-01 -8.0313160e-01 +948 1.904 -7.7734218e-01 -8.1142566e-01 +949 1.906 -7.7571118e-01 -8.1954883e-01 +950 1.908 -7.7406410e-01 -8.2750334e-01 +951 1.91 -7.7240127e-01 -8.3529134e-01 +952 1.912 -7.7072304e-01 -8.4291501e-01 +953 1.914 -7.6902972e-01 -8.5037645e-01 +954 1.916 -7.6732164e-01 -8.5767777e-01 +955 1.918 -7.6559912e-01 -8.6482107e-01 +956 1.92 -7.6386246e-01 -8.7180838e-01 +957 1.922 -7.6211198e-01 -8.7864174e-01 +958 1.924 -7.6034799e-01 -8.8532317e-01 +959 1.926 -7.5857079e-01 -8.9185465e-01 +960 1.928 -7.5678067e-01 -8.9823813e-01 +961 1.93 -7.5497794e-01 -9.0447557e-01 +962 1.932 -7.5316287e-01 -9.1056888e-01 +963 1.934 -7.5133576e-01 -9.1651996e-01 +964 1.936 -7.4949688e-01 -9.2233069e-01 +965 1.938 -7.4764653e-01 -9.2800291e-01 +966 1.94 -7.4578496e-01 -9.3353846e-01 +967 1.942 -7.4391246e-01 -9.3893916e-01 +968 1.944 -7.4202929e-01 -9.4420679e-01 +969 1.946 -7.4013572e-01 -9.4934313e-01 +970 1.948 -7.3823201e-01 -9.5434992e-01 +971 1.95 -7.3631841e-01 -9.5922890e-01 +972 1.952 -7.3439518e-01 -9.6398177e-01 +973 1.954 -7.3246256e-01 -9.6861022e-01 +974 1.956 -7.3052082e-01 -9.7311593e-01 +975 1.958 -7.2857018e-01 -9.7750056e-01 +976 1.96 -7.2661089e-01 -9.8176572e-01 +977 1.962 -7.2464320e-01 -9.8591303e-01 +978 1.964 -7.2266732e-01 -9.8994410e-01 +979 1.966 -7.2068350e-01 -9.9386050e-01 +980 1.968 -7.1869195e-01 -9.9766378e-01 +981 1.97 -7.1669292e-01 -1.0013555e+00 +982 1.972 -7.1468660e-01 -1.0049371e+00 +983 1.974 -7.1267324e-01 -1.0084103e+00 +984 1.976 -7.1065304e-01 -1.0117763e+00 +985 1.978 -7.0862620e-01 -1.0150368e+00 +986 1.98 -7.0659296e-01 -1.0181931e+00 +987 1.982 -7.0455350e-01 -1.0212468e+00 +988 1.984 -7.0250804e-01 -1.0241991e+00 +989 1.986 -7.0045677e-01 -1.0270516e+00 +990 1.988 -6.9839990e-01 -1.0298056e+00 +991 1.99 -6.9633761e-01 -1.0324625e+00 +992 1.992 -6.9427011e-01 -1.0350236e+00 +993 1.994 -6.9219758e-01 -1.0374903e+00 +994 1.996 -6.9012021e-01 -1.0398640e+00 +995 1.998 -6.8803819e-01 -1.0421458e+00 +996 2.0 -6.8595169e-01 -1.0443371e+00 +997 2.002 -6.8386090e-01 -1.0464392e+00 +998 2.004 -6.8176599e-01 -1.0484534e+00 +999 2.006 -6.7966714e-01 -1.0503808e+00 +1000 2.008 -6.7756452e-01 -1.0522228e+00 +1001 2.01 -6.7545831e-01 -1.0539805e+00 +1002 2.012 -6.7334866e-01 -1.0556552e+00 +1003 2.014 -6.7123574e-01 -1.0572480e+00 +1004 2.016 -6.6911972e-01 -1.0587602e+00 +1005 2.018 -6.6700075e-01 -1.0601928e+00 +1006 2.02 -6.6487900e-01 -1.0615470e+00 +1007 2.022 -6.6275462e-01 -1.0628240e+00 +1008 2.024 -6.6062776e-01 -1.0640249e+00 +1009 2.026 -6.5849857e-01 -1.0651508e+00 +1010 2.028 -6.5636720e-01 -1.0662028e+00 +1011 2.03 -6.5423380e-01 -1.0671819e+00 +1012 2.032 -6.5209852e-01 -1.0680893e+00 +1013 2.034 -6.4996149e-01 -1.0689260e+00 +1014 2.036 -6.4782286e-01 -1.0696930e+00 +1015 2.038 -6.4568277e-01 -1.0703914e+00 +1016 2.04 -6.4354134e-01 -1.0710222e+00 +1017 2.042 -6.4139872e-01 -1.0715864e+00 +1018 2.044 -6.3925504e-01 -1.0720851e+00 +1019 2.046 -6.3711043e-01 -1.0725191e+00 +1020 2.048 -6.3496501e-01 -1.0728894e+00 +1021 2.05 -6.3281891e-01 -1.0731971e+00 +1022 2.052 -6.3067226e-01 -1.0734430e+00 +1023 2.054 -6.2852518e-01 -1.0736282e+00 +1024 2.056 -6.2637779e-01 -1.0737535e+00 +1025 2.058 -6.2423020e-01 -1.0738198e+00 +1026 2.06 -6.2208255e-01 -1.0738281e+00 +1027 2.062 -6.1993493e-01 -1.0737792e+00 +1028 2.064 -6.1778747e-01 -1.0736740e+00 +1029 2.066 -6.1564027e-01 -1.0735135e+00 +1030 2.068 -6.1349345e-01 -1.0732984e+00 +1031 2.07 -6.1134711e-01 -1.0730296e+00 +1032 2.072 -6.0920137e-01 -1.0727080e+00 +1033 2.074 -6.0705632e-01 -1.0723344e+00 +1034 2.076 -6.0491206e-01 -1.0719096e+00 +1035 2.078 -6.0276871e-01 -1.0714344e+00 +1036 2.08 -6.0062636e-01 -1.0709096e+00 +1037 2.082 -5.9848511e-01 -1.0703360e+00 +1038 2.084 -5.9634505e-01 -1.0697145e+00 +1039 2.086 -5.9420628e-01 -1.0690457e+00 +1040 2.088 -5.9206889e-01 -1.0683304e+00 +1041 2.09 -5.8993299e-01 -1.0675694e+00 +1042 2.092 -5.8779865e-01 -1.0667634e+00 +1043 2.094 -5.8566596e-01 -1.0659132e+00 +1044 2.096 -5.8353502e-01 -1.0650195e+00 +1045 2.098 -5.8140591e-01 -1.0640830e+00 +1046 2.1 -5.7927872e-01 -1.0631044e+00 +1047 2.102 -5.7715352e-01 -1.0620844e+00 +1048 2.104 -5.7503041e-01 -1.0610238e+00 +1049 2.106 -5.7290946e-01 -1.0599231e+00 +1050 2.108 -5.7079074e-01 -1.0587831e+00 +1051 2.11 -5.6867435e-01 -1.0576044e+00 +1052 2.112 -5.6656035e-01 -1.0563877e+00 +1053 2.114 -5.6444882e-01 -1.0551337e+00 +1054 2.116 -5.6233984e-01 -1.0538429e+00 +1055 2.118 -5.6023348e-01 -1.0525161e+00 +1056 2.12 -5.5812980e-01 -1.0511538e+00 +1057 2.122 -5.5602888e-01 -1.0497566e+00 +1058 2.124 -5.5393080e-01 -1.0483253e+00 +1059 2.126 -5.5183560e-01 -1.0468603e+00 +1060 2.128 -5.4974338e-01 -1.0453622e+00 +1061 2.13 -5.4765418e-01 -1.0438318e+00 +1062 2.132 -5.4556807e-01 -1.0422695e+00 +1063 2.134 -5.4348512e-01 -1.0406759e+00 +1064 2.136 -5.4140539e-01 -1.0390515e+00 +1065 2.138 -5.3932893e-01 -1.0373970e+00 +1066 2.14 -5.3725582e-01 -1.0357129e+00 +1067 2.142 -5.3518610e-01 -1.0339998e+00 +1068 2.144 -5.3311984e-01 -1.0322581e+00 +1069 2.146 -5.3105709e-01 -1.0304884e+00 +1070 2.148 -5.2899790e-01 -1.0286913e+00 +1071 2.15 -5.2694234e-01 -1.0268672e+00 +1072 2.152 -5.2489045e-01 -1.0250167e+00 +1073 2.154 -5.2284229e-01 -1.0231402e+00 +1074 2.156 -5.2079791e-01 -1.0212383e+00 +1075 2.158 -5.1875735e-01 -1.0193115e+00 +1076 2.16 -5.1672068e-01 -1.0173602e+00 +1077 2.162 -5.1468793e-01 -1.0153850e+00 +1078 2.164 -5.1265915e-01 -1.0133862e+00 +1079 2.166 -5.1063440e-01 -1.0113645e+00 +1080 2.168 -5.0861371e-01 -1.0093201e+00 +1081 2.17 -5.0659713e-01 -1.0072536e+00 +1082 2.172 -5.0458471e-01 -1.0051655e+00 +1083 2.174 -5.0257649e-01 -1.0030562e+00 +1084 2.176 -5.0057250e-01 -1.0009261e+00 +1085 2.178 -4.9857280e-01 -9.9877561e-01 +1086 2.18 -4.9657741e-01 -9.9660523e-01 +1087 2.182 -4.9458639e-01 -9.9441535e-01 +1088 2.184 -4.9259976e-01 -9.9220640e-01 +1089 2.186 -4.9061758e-01 -9.8997877e-01 +1090 2.188 -4.8863986e-01 -9.8773289e-01 +1091 2.19 -4.8666666e-01 -9.8546914e-01 +1092 2.192 -4.8469800e-01 -9.8318793e-01 +1093 2.194 -4.8273392e-01 -9.8088964e-01 +1094 2.196 -4.8077445e-01 -9.7857466e-01 +1095 2.198 -4.7881963e-01 -9.7624337e-01 +1096 2.2 -4.7686949e-01 -9.7389614e-01 +1097 2.202 -4.7492405e-01 -9.7153335e-01 +1098 2.204 -4.7298336e-01 -9.6915535e-01 +1099 2.206 -4.7104744e-01 -9.6676252e-01 +1100 2.208 -4.6911632e-01 -9.6435520e-01 +1101 2.21 -4.6719003e-01 -9.6193374e-01 +1102 2.212 -4.6526860e-01 -9.5949850e-01 +1103 2.214 -4.6335205e-01 -9.5704982e-01 +1104 2.216 -4.6144041e-01 -9.5458802e-01 +1105 2.218 -4.5953370e-01 -9.5211345e-01 +1106 2.22 -4.5763196e-01 -9.4962643e-01 +1107 2.222 -4.5573520e-01 -9.4712728e-01 +1108 2.224 -4.5384346e-01 -9.4461633e-01 +1109 2.226 -4.5195675e-01 -9.4209389e-01 +1110 2.228 -4.5007509e-01 -9.3956027e-01 +1111 2.23 -4.4819851e-01 -9.3701578e-01 +1112 2.232 -4.4632703e-01 -9.3446072e-01 +1113 2.234 -4.4446068e-01 -9.3189539e-01 +1114 2.236 -4.4259946e-01 -9.2932008e-01 +1115 2.238 -4.4074340e-01 -9.2673508e-01 +1116 2.24 -4.3889253e-01 -9.2414069e-01 +1117 2.242 -4.3704685e-01 -9.2153718e-01 +1118 2.244 -4.3520638e-01 -9.1892482e-01 +1119 2.246 -4.3337115e-01 -9.1630391e-01 +1120 2.248 -4.3154117e-01 -9.1367470e-01 +1121 2.25 -4.2971646e-01 -9.1103747e-01 +1122 2.252 -4.2789703e-01 -9.0839247e-01 +1123 2.254 -4.2608289e-01 -9.0573997e-01 +1124 2.256 -4.2427407e-01 -9.0308023e-01 +1125 2.258 -4.2247058e-01 -9.0041350e-01 +1126 2.26 -4.2067242e-01 -8.9774002e-01 +1127 2.262 -4.1887962e-01 -8.9506004e-01 +1128 2.264 -4.1709219e-01 -8.9237381e-01 +1129 2.266 -4.1531013e-01 -8.8968156e-01 +1130 2.268 -4.1353346e-01 -8.8698353e-01 +1131 2.27 -4.1176220e-01 -8.8427995e-01 +1132 2.272 -4.0999635e-01 -8.8157106e-01 +1133 2.274 -4.0823592e-01 -8.7885707e-01 +1134 2.276 -4.0648092e-01 -8.7613821e-01 +1135 2.278 -4.0473137e-01 -8.7341469e-01 +1136 2.28 -4.0298727e-01 -8.7068674e-01 +1137 2.282 -4.0124863e-01 -8.6795457e-01 +1138 2.284 -3.9951545e-01 -8.6521839e-01 +1139 2.286 -3.9778775e-01 -8.6247840e-01 +1140 2.288 -3.9606554e-01 -8.5973481e-01 +1141 2.29 -3.9434882e-01 -8.5698783e-01 +1142 2.292 -3.9263759e-01 -8.5423763e-01 +1143 2.294 -3.9093187e-01 -8.5148444e-01 +1144 2.296 -3.8923166e-01 -8.4872843e-01 +1145 2.298 -3.8753696e-01 -8.4596979e-01 +1146 2.3 -3.8584778e-01 -8.4320872e-01 +1147 2.302 -3.8416412e-01 -8.4044540e-01 +1148 2.304 -3.8248600e-01 -8.3768000e-01 +1149 2.306 -3.8081341e-01 -8.3491271e-01 +1150 2.308 -3.7914635e-01 -8.3214370e-01 +1151 2.31 -3.7748483e-01 -8.2937315e-01 +1152 2.312 -3.7582886e-01 -8.2660123e-01 +1153 2.314 -3.7417843e-01 -8.2382810e-01 +1154 2.316 -3.7253354e-01 -8.2105394e-01 +1155 2.318 -3.7089421e-01 -8.1827890e-01 +1156 2.32 -3.6926043e-01 -8.1550314e-01 +1157 2.322 -3.6763220e-01 -8.1272683e-01 +1158 2.324 -3.6600952e-01 -8.0995012e-01 +1159 2.326 -3.6439240e-01 -8.0717316e-01 +1160 2.328 -3.6278083e-01 -8.0439611e-01 +1161 2.33 -3.6117482e-01 -8.0161911e-01 +1162 2.332 -3.5957435e-01 -7.9884232e-01 +1163 2.334 -3.5797945e-01 -7.9606586e-01 +1164 2.336 -3.5639009e-01 -7.9328990e-01 +1165 2.338 -3.5480629e-01 -7.9051456e-01 +1166 2.34 -3.5322803e-01 -7.8773998e-01 +1167 2.342 -3.5165533e-01 -7.8496631e-01 +1168 2.344 -3.5008817e-01 -7.8219367e-01 +1169 2.346 -3.4852655e-01 -7.7942219e-01 +1170 2.348 -3.4697048e-01 -7.7665201e-01 +1171 2.35 -3.4541994e-01 -7.7388325e-01 +1172 2.352 -3.4387494e-01 -7.7111603e-01 +1173 2.354 -3.4233548e-01 -7.6835048e-01 +1174 2.356 -3.4080154e-01 -7.6558673e-01 +1175 2.358 -3.3927313e-01 -7.6282488e-01 +1176 2.36 -3.3775024e-01 -7.6006506e-01 +1177 2.362 -3.3623287e-01 -7.5730739e-01 +1178 2.364 -3.3472101e-01 -7.5455197e-01 +1179 2.366 -3.3321466e-01 -7.5179891e-01 +1180 2.368 -3.3171381e-01 -7.4904834e-01 +1181 2.37 -3.3021846e-01 -7.4630035e-01 +1182 2.372 -3.2872861e-01 -7.4355504e-01 +1183 2.374 -3.2724424e-01 -7.4081254e-01 +1184 2.376 -3.2576535e-01 -7.3807293e-01 +1185 2.378 -3.2429195e-01 -7.3533632e-01 +1186 2.38 -3.2282401e-01 -7.3260281e-01 +1187 2.382 -3.2136153e-01 -7.2987250e-01 +1188 2.384 -3.1990451e-01 -7.2714547e-01 +1189 2.386 -3.1845295e-01 -7.2442183e-01 +1190 2.388 -3.1700682e-01 -7.2170167e-01 +1191 2.39 -3.1556614e-01 -7.1898508e-01 +1192 2.392 -3.1413088e-01 -7.1627214e-01 +1193 2.394 -3.1270105e-01 -7.1356295e-01 +1194 2.396 -3.1127663e-01 -7.1085759e-01 +1195 2.398 -3.0985761e-01 -7.0815615e-01 +1196 2.4 -3.0844400e-01 -7.0545871e-01 +1197 2.402 -3.0703578e-01 -7.0276534e-01 +1198 2.404 -3.0563294e-01 -7.0007614e-01 +1199 2.406 -3.0423547e-01 -6.9739118e-01 +1200 2.408 -3.0284337e-01 -6.9471054e-01 +1201 2.41 -3.0145662e-01 -6.9203429e-01 +1202 2.412 -3.0007523e-01 -6.8936250e-01 +1203 2.414 -2.9869917e-01 -6.8669526e-01 +1204 2.416 -2.9732844e-01 -6.8403263e-01 +1205 2.418 -2.9596304e-01 -6.8137468e-01 +1206 2.42 -2.9460294e-01 -6.7872149e-01 +1207 2.422 -2.9324815e-01 -6.7607311e-01 +1208 2.424 -2.9189865e-01 -6.7342962e-01 +1209 2.426 -2.9055443e-01 -6.7079108e-01 +1210 2.428 -2.8921548e-01 -6.6815755e-01 +1211 2.43 -2.8788179e-01 -6.6552911e-01 +1212 2.432 -2.8655336e-01 -6.6290580e-01 +1213 2.434 -2.8523017e-01 -6.6028769e-01 +1214 2.436 -2.8391221e-01 -6.5767483e-01 +1215 2.438 -2.8259946e-01 -6.5506729e-01 +1216 2.44 -2.8129193e-01 -6.5246513e-01 +1217 2.442 -2.7998960e-01 -6.4986839e-01 +1218 2.444 -2.7869246e-01 -6.4727714e-01 +1219 2.446 -2.7740049e-01 -6.4469141e-01 +1220 2.448 -2.7611369e-01 -6.4211128e-01 +1221 2.45 -2.7483204e-01 -6.3953678e-01 +1222 2.452 -2.7355553e-01 -6.3696798e-01 +1223 2.454 -2.7228416e-01 -6.3440490e-01 +1224 2.456 -2.7101791e-01 -6.3184762e-01 +1225 2.458 -2.6975677e-01 -6.2929616e-01 +1226 2.46 -2.6850072e-01 -6.2675058e-01 +1227 2.462 -2.6724976e-01 -6.2421092e-01 +1228 2.464 -2.6600388e-01 -6.2167723e-01 +1229 2.466 -2.6476305e-01 -6.1914955e-01 +1230 2.468 -2.6352727e-01 -6.1662791e-01 +1231 2.47 -2.6229653e-01 -6.1411237e-01 +1232 2.472 -2.6107082e-01 -6.1160295e-01 +1233 2.474 -2.5985012e-01 -6.0909971e-01 +1234 2.476 -2.5863442e-01 -6.0660267e-01 +1235 2.478 -2.5742370e-01 -6.0411187e-01 +1236 2.48 -2.5621796e-01 -6.0162736e-01 +1237 2.482 -2.5501719e-01 -5.9914916e-01 +1238 2.484 -2.5382136e-01 -5.9667730e-01 +1239 2.486 -2.5263048e-01 -5.9421184e-01 +1240 2.488 -2.5144451e-01 -5.9175278e-01 +1241 2.49 -2.5026346e-01 -5.8930018e-01 +1242 2.492 -2.4908731e-01 -5.8685405e-01 +1243 2.494 -2.4791604e-01 -5.8441443e-01 +1244 2.496 -2.4674965e-01 -5.8198135e-01 +1245 2.498 -2.4558811e-01 -5.7955483e-01 +1246 2.5 -2.4443142e-01 -5.7713491e-01 +1247 2.502 -2.4327957e-01 -5.7472161e-01 +1248 2.504 -2.4213253e-01 -5.7231496e-01 +1249 2.506 -2.4099030e-01 -5.6991497e-01 +1250 2.508 -2.3985287e-01 -5.6752169e-01 +1251 2.51 -2.3872021e-01 -5.6513513e-01 +1252 2.512 -2.3759232e-01 -5.6275531e-01 +1253 2.514 -2.3646918e-01 -5.6038225e-01 +1254 2.516 -2.3535079e-01 -5.5801599e-01 +1255 2.518 -2.3423712e-01 -5.5565654e-01 +1256 2.52 -2.3312816e-01 -5.5330391e-01 +1257 2.522 -2.3202390e-01 -5.5095814e-01 +1258 2.524 -2.3092432e-01 -5.4861923e-01 +1259 2.526 -2.2982941e-01 -5.4628721e-01 +1260 2.528 -2.2873917e-01 -5.4396210e-01 +1261 2.53 -2.2765356e-01 -5.4164391e-01 +1262 2.532 -2.2657259e-01 -5.3933265e-01 +1263 2.534 -2.2549623e-01 -5.3702835e-01 +1264 2.536 -2.2442447e-01 -5.3473103e-01 +1265 2.538 -2.2335730e-01 -5.3244068e-01 +1266 2.54 -2.2229470e-01 -5.3015734e-01 +1267 2.542 -2.2123666e-01 -5.2788100e-01 +1268 2.544 -2.2018317e-01 -5.2561169e-01 +1269 2.546 -2.1913421e-01 -5.2334942e-01 +1270 2.548 -2.1808977e-01 -5.2109420e-01 +1271 2.55 -2.1704983e-01 -5.1884603e-01 +1272 2.552 -2.1601438e-01 -5.1660494e-01 +1273 2.554 -2.1498341e-01 -5.1437093e-01 +1274 2.556 -2.1395689e-01 -5.1214401e-01 +1275 2.558 -2.1293483e-01 -5.0992419e-01 +1276 2.56 -2.1191719e-01 -5.0771147e-01 +1277 2.562 -2.1090397e-01 -5.0550587e-01 +1278 2.564 -2.0989516e-01 -5.0330740e-01 +1279 2.566 -2.0889074e-01 -5.0111606e-01 +1280 2.568 -2.0789069e-01 -4.9893185e-01 +1281 2.57 -2.0689501e-01 -4.9675478e-01 +1282 2.572 -2.0590367e-01 -4.9458487e-01 +1283 2.574 -2.0491666e-01 -4.9242211e-01 +1284 2.576 -2.0393398e-01 -4.9026651e-01 +1285 2.578 -2.0295559e-01 -4.8811807e-01 +1286 2.58 -2.0198150e-01 -4.8597679e-01 +1287 2.582 -2.0101168e-01 -4.8384269e-01 +1288 2.584 -2.0004612e-01 -4.8171576e-01 +1289 2.586 -1.9908481e-01 -4.7959600e-01 +1290 2.588 -1.9812774e-01 -4.7748342e-01 +1291 2.59 -1.9717487e-01 -4.7537803e-01 +1292 2.592 -1.9622622e-01 -4.7327981e-01 +1293 2.594 -1.9528175e-01 -4.7118877e-01 +1294 2.596 -1.9434146e-01 -4.6910491e-01 +1295 2.598 -1.9340533e-01 -4.6702824e-01 +1296 2.6 -1.9247334e-01 -4.6495874e-01 +1297 2.602 -1.9154549e-01 -4.6289643e-01 +1298 2.604 -1.9062175e-01 -4.6084129e-01 +1299 2.606 -1.8970212e-01 -4.5879334e-01 +1300 2.608 -1.8878657e-01 -4.5675256e-01 +1301 2.61 -1.8787510e-01 -4.5471895e-01 +1302 2.612 -1.8696769e-01 -4.5269252e-01 +1303 2.614 -1.8606433e-01 -4.5067325e-01 +1304 2.616 -1.8516499e-01 -4.4866115e-01 +1305 2.618 -1.8426968e-01 -4.4665621e-01 +1306 2.62 -1.8337836e-01 -4.4465843e-01 +1307 2.622 -1.8249104e-01 -4.4266781e-01 +1308 2.624 -1.8160769e-01 -4.4068433e-01 +1309 2.626 -1.8072830e-01 -4.3870800e-01 +1310 2.628 -1.7985285e-01 -4.3673881e-01 +1311 2.63 -1.7898134e-01 -4.3477675e-01 +1312 2.632 -1.7811374e-01 -4.3282182e-01 +1313 2.634 -1.7725004e-01 -4.3087401e-01 +1314 2.636 -1.7639024e-01 -4.2893332e-01 +1315 2.638 -1.7553431e-01 -4.2699974e-01 +1316 2.64 -1.7468223e-01 -4.2507326e-01 +1317 2.642 -1.7383401e-01 -4.2315388e-01 +1318 2.644 -1.7298961e-01 -4.2124159e-01 +1319 2.646 -1.7214904e-01 -4.1933638e-01 +1320 2.648 -1.7131226e-01 -4.1743824e-01 +1321 2.65 -1.7047928e-01 -4.1554716e-01 +1322 2.652 -1.6965007e-01 -4.1366314e-01 +1323 2.654 -1.6882462e-01 -4.1178617e-01 +1324 2.656 -1.6800292e-01 -4.0991624e-01 +1325 2.658 -1.6718495e-01 -4.0805334e-01 +1326 2.66 -1.6637070e-01 -4.0619746e-01 +1327 2.662 -1.6556016e-01 -4.0434859e-01 +1328 2.664 -1.6475330e-01 -4.0250672e-01 +1329 2.666 -1.6395013e-01 -4.0067184e-01 +1330 2.668 -1.6315061e-01 -3.9884395e-01 +1331 2.67 -1.6235475e-01 -3.9702302e-01 +1332 2.672 -1.6156252e-01 -3.9520906e-01 +1333 2.674 -1.6077391e-01 -3.9340204e-01 +1334 2.676 -1.5998890e-01 -3.9160196e-01 +1335 2.678 -1.5920749e-01 -3.8980881e-01 +1336 2.68 -1.5842966e-01 -3.8802257e-01 +1337 2.682 -1.5765540e-01 -3.8624323e-01 +1338 2.684 -1.5688469e-01 -3.8447079e-01 +1339 2.686 -1.5611751e-01 -3.8270523e-01 +1340 2.688 -1.5535386e-01 -3.8094653e-01 +1341 2.69 -1.5459372e-01 -3.7919469e-01 +1342 2.692 -1.5383708e-01 -3.7744970e-01 +1343 2.694 -1.5308392e-01 -3.7571153e-01 +1344 2.696 -1.5233423e-01 -3.7398018e-01 +1345 2.698 -1.5158799e-01 -3.7225563e-01 +1346 2.7 -1.5084520e-01 -3.7053787e-01 +1347 2.702 -1.5010584e-01 -3.6882690e-01 +1348 2.704 -1.4936989e-01 -3.6712268e-01 +1349 2.706 -1.4863734e-01 -3.6542522e-01 +1350 2.708 -1.4790818e-01 -3.6373449e-01 +1351 2.71 -1.4718240e-01 -3.6205048e-01 +1352 2.712 -1.4645998e-01 -3.6037318e-01 +1353 2.714 -1.4574090e-01 -3.5870258e-01 +1354 2.716 -1.4502516e-01 -3.5703865e-01 +1355 2.718 -1.4431274e-01 -3.5538140e-01 +1356 2.72 -1.4360363e-01 -3.5373079e-01 +1357 2.722 -1.4289781e-01 -3.5208681e-01 +1358 2.724 -1.4219528e-01 -3.5044946e-01 +1359 2.726 -1.4149601e-01 -3.4881872e-01 +1360 2.728 -1.4080000e-01 -3.4719456e-01 +1361 2.73 -1.4010723e-01 -3.4557698e-01 +1362 2.732 -1.3941769e-01 -3.4396596e-01 +1363 2.734 -1.3873136e-01 -3.4236148e-01 +1364 2.736 -1.3804824e-01 -3.4076354e-01 +1365 2.738 -1.3736830e-01 -3.3917210e-01 +1366 2.74 -1.3669154e-01 -3.3758717e-01 +1367 2.742 -1.3601795e-01 -3.3600871e-01 +1368 2.744 -1.3534751e-01 -3.3443672e-01 +1369 2.746 -1.3468020e-01 -3.3287119e-01 +1370 2.748 -1.3401602e-01 -3.3131208e-01 +1371 2.75 -1.3335495e-01 -3.2975939e-01 +1372 2.752 -1.3269697e-01 -3.2821310e-01 +1373 2.754 -1.3204209e-01 -3.2667320e-01 +1374 2.756 -1.3139028e-01 -3.2513966e-01 +1375 2.758 -1.3074153e-01 -3.2361247e-01 +1376 2.76 -1.3009582e-01 -3.2209162e-01 +1377 2.762 -1.2945316e-01 -3.2057709e-01 +1378 2.764 -1.2881351e-01 -3.1906886e-01 +1379 2.766 -1.2817688e-01 -3.1756691e-01 +1380 2.768 -1.2754324e-01 -3.1607122e-01 +1381 2.77 -1.2691259e-01 -3.1458179e-01 +1382 2.772 -1.2628491e-01 -3.1309859e-01 +1383 2.774 -1.2566019e-01 -3.1162160e-01 +1384 2.776 -1.2503842e-01 -3.1015081e-01 +1385 2.778 -1.2441958e-01 -3.0868621e-01 +1386 2.78 -1.2380367e-01 -3.0722776e-01 +1387 2.782 -1.2319067e-01 -3.0577546e-01 +1388 2.784 -1.2258056e-01 -3.0432929e-01 +1389 2.786 -1.2197334e-01 -3.0288923e-01 +1390 2.788 -1.2136900e-01 -3.0145527e-01 +1391 2.79 -1.2076752e-01 -3.0002738e-01 +1392 2.792 -1.2016889e-01 -2.9860554e-01 +1393 2.794 -1.1957309e-01 -2.9718975e-01 +1394 2.796 -1.1898012e-01 -2.9577997e-01 +1395 2.798 -1.1838997e-01 -2.9437621e-01 +1396 2.8 -1.1780262e-01 -2.9297842e-01 +1397 2.802 -1.1721805e-01 -2.9158661e-01 +1398 2.804 -1.1663627e-01 -2.9020074e-01 +1399 2.806 -1.1605724e-01 -2.8882081e-01 +1400 2.808 -1.1548098e-01 -2.8744679e-01 +1401 2.81 -1.1490745e-01 -2.8607867e-01 +1402 2.812 -1.1433666e-01 -2.8471643e-01 +1403 2.814 -1.1376858e-01 -2.8336004e-01 +1404 2.816 -1.1320322e-01 -2.8200950e-01 +1405 2.818 -1.1264054e-01 -2.8066478e-01 +1406 2.82 -1.1208055e-01 -2.7932586e-01 +1407 2.822 -1.1152323e-01 -2.7799273e-01 +1408 2.824 -1.1096858e-01 -2.7666537e-01 +1409 2.826 -1.1041657e-01 -2.7534376e-01 +1410 2.828 -1.0986720e-01 -2.7402788e-01 +1411 2.83 -1.0932045e-01 -2.7271771e-01 +1412 2.832 -1.0877632e-01 -2.7141324e-01 +1413 2.834 -1.0823480e-01 -2.7011445e-01 +1414 2.836 -1.0769586e-01 -2.6882131e-01 +1415 2.838 -1.0715951e-01 -2.6753381e-01 +1416 2.84 -1.0662572e-01 -2.6625193e-01 +1417 2.842 -1.0609450e-01 -2.6497566e-01 +1418 2.844 -1.0556582e-01 -2.6370497e-01 +1419 2.846 -1.0503967e-01 -2.6243984e-01 +1420 2.848 -1.0451605e-01 -2.6118026e-01 +1421 2.85 -1.0399495e-01 -2.5992621e-01 +1422 2.852 -1.0347635e-01 -2.5867767e-01 +1423 2.854 -1.0296023e-01 -2.5743462e-01 +1424 2.856 -1.0244660e-01 -2.5619704e-01 +1425 2.858 -1.0193544e-01 -2.5496492e-01 +1426 2.86 -1.0142674e-01 -2.5373823e-01 +1427 2.862 -1.0092049e-01 -2.5251696e-01 +1428 2.864 -1.0041667e-01 -2.5130109e-01 +1429 2.866 -9.9915278e-02 -2.5009060e-01 +1430 2.868 -9.9416303e-02 -2.4888546e-01 +1431 2.87 -9.8919733e-02 -2.4768568e-01 +1432 2.872 -9.8425557e-02 -2.4649121e-01 +1433 2.874 -9.7933764e-02 -2.4530205e-01 +1434 2.876 -9.7444345e-02 -2.4411818e-01 +1435 2.878 -9.6957288e-02 -2.4293958e-01 +1436 2.88 -9.6472583e-02 -2.4176622e-01 +1437 2.882 -9.5990220e-02 -2.4059810e-01 +1438 2.884 -9.5510187e-02 -2.3943519e-01 +1439 2.886 -9.5032475e-02 -2.3827747e-01 +1440 2.888 -9.4557074e-02 -2.3712493e-01 +1441 2.89 -9.4083972e-02 -2.3597755e-01 +1442 2.892 -9.3613160e-02 -2.3483531e-01 +1443 2.894 -9.3144628e-02 -2.3369818e-01 +1444 2.896 -9.2678364e-02 -2.3256616e-01 +1445 2.898 -9.2214360e-02 -2.3143922e-01 +1446 2.9 -9.1752604e-02 -2.3031735e-01 +1447 2.902 -9.1293087e-02 -2.2920052e-01 +1448 2.904 -9.0835798e-02 -2.2808872e-01 +1449 2.906 -9.0380729e-02 -2.2698194e-01 +1450 2.908 -8.9927867e-02 -2.2588014e-01 +1451 2.91 -8.9477205e-02 -2.2478331e-01 +1452 2.912 -8.9028731e-02 -2.2369144e-01 +1453 2.914 -8.8582436e-02 -2.2260451e-01 +1454 2.916 -8.8138309e-02 -2.2152249e-01 +1455 2.918 -8.7696342e-02 -2.2044537e-01 +1456 2.92 -8.7256525e-02 -2.1937314e-01 +1457 2.922 -8.6818847e-02 -2.1830577e-01 +1458 2.924 -8.6383298e-02 -2.1724324e-01 +1459 2.926 -8.5949870e-02 -2.1618554e-01 +1460 2.928 -8.5518553e-02 -2.1513265e-01 +1461 2.93 -8.5089337e-02 -2.1408455e-01 +1462 2.932 -8.4662212e-02 -2.1304122e-01 +1463 2.934 -8.4237169e-02 -2.1200264e-01 +1464 2.936 -8.3814198e-02 -2.1096880e-01 +1465 2.938 -8.3393290e-02 -2.0993968e-01 +1466 2.94 -8.2974436e-02 -2.0891526e-01 +1467 2.942 -8.2557626e-02 -2.0789553e-01 +1468 2.944 -8.2142851e-02 -2.0688045e-01 +1469 2.946 -8.1730101e-02 -2.0587002e-01 +1470 2.948 -8.1319368e-02 -2.0486423e-01 +1471 2.95 -8.0910641e-02 -2.0386304e-01 +1472 2.952 -8.0503912e-02 -2.0286644e-01 +1473 2.954 -8.0099172e-02 -2.0187442e-01 +1474 2.956 -7.9696412e-02 -2.0088696e-01 +1475 2.958 -7.9295622e-02 -1.9990403e-01 +1476 2.96 -7.8896793e-02 -1.9892563e-01 +1477 2.962 -7.8499916e-02 -1.9795173e-01 +1478 2.964 -7.8104983e-02 -1.9698232e-01 +1479 2.966 -7.7711984e-02 -1.9601737e-01 +1480 2.968 -7.7320910e-02 -1.9505688e-01 +1481 2.97 -7.6931753e-02 -1.9410082e-01 +1482 2.972 -7.6544504e-02 -1.9314918e-01 +1483 2.974 -7.6159154e-02 -1.9220193e-01 +1484 2.976 -7.5775693e-02 -1.9125907e-01 +1485 2.978 -7.5394114e-02 -1.9032057e-01 +1486 2.98 -7.5014408e-02 -1.8938641e-01 +1487 2.982 -7.4636566e-02 -1.8845659e-01 +1488 2.984 -7.4260579e-02 -1.8753108e-01 +1489 2.986 -7.3886439e-02 -1.8660986e-01 +1490 2.988 -7.3514137e-02 -1.8569292e-01 +1491 2.99 -7.3143664e-02 -1.8478024e-01 +1492 2.992 -7.2775013e-02 -1.8387180e-01 +1493 2.994 -7.2408174e-02 -1.8296759e-01 +1494 2.996 -7.2043140e-02 -1.8206759e-01 +1495 2.998 -7.1679901e-02 -1.8117177e-01 +1496 3.0 -7.1318450e-02 -1.8028014e-01 +1497 3.002 -7.0958778e-02 -1.7939266e-01 +1498 3.004 -7.0600876e-02 -1.7850932e-01 +1499 3.006 -7.0244738e-02 -1.7763011e-01 +1500 3.008 -6.9890353e-02 -1.7675500e-01 +1501 3.01 -6.9537715e-02 -1.7588399e-01 +1502 3.012 -6.9186815e-02 -1.7501704e-01 +1503 3.014 -6.8837644e-02 -1.7415416e-01 +1504 3.016 -6.8490195e-02 -1.7329531e-01 +1505 3.018 -6.8144460e-02 -1.7244049e-01 +1506 3.02 -6.7800431e-02 -1.7158968e-01 +1507 3.022 -6.7458099e-02 -1.7074286e-01 +1508 3.024 -6.7117457e-02 -1.6990001e-01 +1509 3.026 -6.6778496e-02 -1.6906112e-01 +1510 3.028 -6.6441209e-02 -1.6822617e-01 +1511 3.03 -6.6105589e-02 -1.6739514e-01 +1512 3.032 -6.5771626e-02 -1.6656803e-01 +1513 3.034 -6.5439314e-02 -1.6574480e-01 +1514 3.036 -6.5108645e-02 -1.6492545e-01 +1515 3.038 -6.4779610e-02 -1.6410997e-01 +1516 3.04 -6.4452202e-02 -1.6329832e-01 +1517 3.042 -6.4126414e-02 -1.6249051e-01 +1518 3.044 -6.3802238e-02 -1.6168650e-01 +1519 3.046 -6.3479665e-02 -1.6088629e-01 +1520 3.048 -6.3158690e-02 -1.6008986e-01 +1521 3.05 -6.2839303e-02 -1.5929720e-01 +1522 3.052 -6.2521499e-02 -1.5850828e-01 +1523 3.054 -6.2205268e-02 -1.5772310e-01 +1524 3.056 -6.1890604e-02 -1.5694163e-01 +1525 3.058 -6.1577499e-02 -1.5616386e-01 +1526 3.06 -6.1265946e-02 -1.5538977e-01 +1527 3.062 -6.0955937e-02 -1.5461936e-01 +1528 3.064 -6.0647466e-02 -1.5385260e-01 +1529 3.066 -6.0340524e-02 -1.5308948e-01 +1530 3.068 -6.0035106e-02 -1.5232998e-01 +1531 3.07 -5.9731202e-02 -1.5157408e-01 +1532 3.072 -5.9428807e-02 -1.5082178e-01 +1533 3.074 -5.9127913e-02 -1.5007306e-01 +1534 3.076 -5.8828512e-02 -1.4932790e-01 +1535 3.078 -5.8530599e-02 -1.4858628e-01 +1536 3.08 -5.8234165e-02 -1.4784819e-01 +1537 3.082 -5.7939204e-02 -1.4711362e-01 +1538 3.084 -5.7645708e-02 -1.4638255e-01 +1539 3.086 -5.7353671e-02 -1.4565496e-01 +1540 3.088 -5.7063086e-02 -1.4493084e-01 +1541 3.09 -5.6773945e-02 -1.4421018e-01 +1542 3.092 -5.6486243e-02 -1.4349296e-01 +1543 3.094 -5.6199971e-02 -1.4277917e-01 +1544 3.096 -5.5915124e-02 -1.4206878e-01 +1545 3.098 -5.5631694e-02 -1.4136179e-01 +1546 3.1 -5.5349674e-02 -1.4065818e-01 +1547 3.102 -5.5069059e-02 -1.3995794e-01 +1548 3.104 -5.4789840e-02 -1.3926105e-01 +1549 3.106 -5.4512012e-02 -1.3856750e-01 +1550 3.108 -5.4235568e-02 -1.3787727e-01 +1551 3.11 -5.3960501e-02 -1.3719034e-01 +1552 3.112 -5.3686805e-02 -1.3650671e-01 +1553 3.114 -5.3414472e-02 -1.3582636e-01 +1554 3.116 -5.3143497e-02 -1.3514927e-01 +1555 3.118 -5.2873873e-02 -1.3447544e-01 +1556 3.12 -5.2605593e-02 -1.3380484e-01 +1557 3.122 -5.2338651e-02 -1.3313746e-01 +1558 3.124 -5.2073041e-02 -1.3247329e-01 +1559 3.126 -5.1808756e-02 -1.3181231e-01 +1560 3.128 -5.1545790e-02 -1.3115451e-01 +1561 3.13 -5.1284136e-02 -1.3049988e-01 +1562 3.132 -5.1023788e-02 -1.2984840e-01 +1563 3.134 -5.0764740e-02 -1.2920006e-01 +1564 3.136 -5.0506986e-02 -1.2855484e-01 +1565 3.138 -5.0250519e-02 -1.2791273e-01 +1566 3.14 -4.9995333e-02 -1.2727371e-01 +1567 3.142 -4.9741422e-02 -1.2663778e-01 +1568 3.144 -4.9488780e-02 -1.2600492e-01 +1569 3.146 -4.9237400e-02 -1.2537511e-01 +1570 3.148 -4.8987277e-02 -1.2474834e-01 +1571 3.15 -4.8738405e-02 -1.2412460e-01 +1572 3.152 -4.8490777e-02 -1.2350388e-01 +1573 3.154 -4.8244387e-02 -1.2288615e-01 +1574 3.156 -4.7999230e-02 -1.2227142e-01 +1575 3.158 -4.7755300e-02 -1.2165965e-01 +1576 3.16 -4.7512590e-02 -1.2105085e-01 +1577 3.162 -4.7271094e-02 -1.2044499e-01 +1578 3.164 -4.7030808e-02 -1.1984207e-01 +1579 3.166 -4.6791724e-02 -1.1924207e-01 +1580 3.168 -4.6553838e-02 -1.1864498e-01 +1581 3.17 -4.6317142e-02 -1.1805078e-01 +1582 3.172 -4.6081632e-02 -1.1745947e-01 +1583 3.174 -4.5847302e-02 -1.1687102e-01 +1584 3.176 -4.5614146e-02 -1.1628543e-01 +1585 3.178 -4.5382159e-02 -1.1570268e-01 +1586 3.18 -4.5151334e-02 -1.1512276e-01 +1587 3.182 -4.4921666e-02 -1.1454566e-01 +1588 3.184 -4.4693149e-02 -1.1397137e-01 +1589 3.186 -4.4465779e-02 -1.1339986e-01 +1590 3.188 -4.4239548e-02 -1.1283114e-01 +1591 3.19 -4.4014452e-02 -1.1226518e-01 +1592 3.192 -4.3790485e-02 -1.1170198e-01 +1593 3.194 -4.3567642e-02 -1.1114152e-01 +1594 3.196 -4.3345918e-02 -1.1058378e-01 +1595 3.198 -4.3125305e-02 -1.1002877e-01 +1596 3.2 -4.2905801e-02 -1.0947646e-01 +1597 3.202 -4.2687398e-02 -1.0892684e-01 +1598 3.204 -4.2470092e-02 -1.0837990e-01 +1599 3.206 -4.2253877e-02 -1.0783562e-01 +1600 3.208 -4.2038747e-02 -1.0729401e-01 +1601 3.21 -4.1824699e-02 -1.0675503e-01 +1602 3.212 -4.1611725e-02 -1.0621869e-01 +1603 3.214 -4.1399822e-02 -1.0568497e-01 +1604 3.216 -4.1188984e-02 -1.0515385e-01 +1605 3.218 -4.0979205e-02 -1.0462533e-01 +1606 3.22 -4.0770481e-02 -1.0409939e-01 +1607 3.222 -4.0562806e-02 -1.0357602e-01 +1608 3.224 -4.0356175e-02 -1.0305522e-01 +1609 3.226 -4.0150583e-02 -1.0253696e-01 +1610 3.228 -3.9946025e-02 -1.0202124e-01 +1611 3.23 -3.9742497e-02 -1.0150804e-01 +1612 3.232 -3.9539992e-02 -1.0099735e-01 +1613 3.234 -3.9338506e-02 -1.0048917e-01 +1614 3.236 -3.9138033e-02 -9.9983475e-02 +1615 3.238 -3.8938570e-02 -9.9480259e-02 +1616 3.24 -3.8740111e-02 -9.8979509e-02 +1617 3.242 -3.8542650e-02 -9.8481216e-02 +1618 3.244 -3.8346184e-02 -9.7985366e-02 +1619 3.246 -3.8150707e-02 -9.7491949e-02 +1620 3.248 -3.7956215e-02 -9.7000953e-02 +1621 3.25 -3.7762702e-02 -9.6512368e-02 +1622 3.252 -3.7570164e-02 -9.6026182e-02 +1623 3.254 -3.7378595e-02 -9.5542384e-02 +1624 3.256 -3.7187993e-02 -9.5060963e-02 +1625 3.258 -3.6998350e-02 -9.4581907e-02 +1626 3.26 -3.6809663e-02 -9.4105207e-02 +1627 3.262 -3.6621928e-02 -9.3630850e-02 +1628 3.264 -3.6435138e-02 -9.3158826e-02 +1629 3.266 -3.6249291e-02 -9.2689125e-02 +1630 3.268 -3.6064380e-02 -9.2221735e-02 +1631 3.27 -3.5880402e-02 -9.1756645e-02 +1632 3.272 -3.5697352e-02 -9.1293845e-02 +1633 3.274 -3.5515225e-02 -9.0833324e-02 +1634 3.276 -3.5334017e-02 -9.0375072e-02 +1635 3.278 -3.5153724e-02 -8.9919078e-02 +1636 3.28 -3.4974340e-02 -8.9465331e-02 +1637 3.282 -3.4795861e-02 -8.9013821e-02 +1638 3.284 -3.4618283e-02 -8.8564537e-02 +1639 3.286 -3.4441601e-02 -8.8117469e-02 +1640 3.288 -3.4265811e-02 -8.7672606e-02 +1641 3.29 -3.4090909e-02 -8.7229939e-02 +1642 3.292 -3.3916890e-02 -8.6789457e-02 +1643 3.294 -3.3743750e-02 -8.6351149e-02 +1644 3.296 -3.3571484e-02 -8.5915006e-02 +1645 3.298 -3.3400089e-02 -8.5481017e-02 +1646 3.3 -3.3229559e-02 -8.5049172e-02 +1647 3.302 -3.3059890e-02 -8.4619461e-02 +1648 3.304 -3.2891079e-02 -8.4191874e-02 +1649 3.306 -3.2723122e-02 -8.3766401e-02 +1650 3.308 -3.2556012e-02 -8.3343032e-02 +1651 3.31 -3.2389748e-02 -8.2921757e-02 +1652 3.312 -3.2224324e-02 -8.2502566e-02 +1653 3.314 -3.2059736e-02 -8.2085450e-02 +1654 3.316 -3.1895981e-02 -8.1670398e-02 +1655 3.318 -3.1733053e-02 -8.1257402e-02 +1656 3.32 -3.1570950e-02 -8.0846450e-02 +1657 3.322 -3.1409666e-02 -8.0437534e-02 +1658 3.324 -3.1249198e-02 -8.0030643e-02 +1659 3.326 -3.1089542e-02 -7.9625769e-02 +1660 3.328 -3.0930694e-02 -7.9222901e-02 +1661 3.33 -3.0772649e-02 -7.8822031e-02 +1662 3.332 -3.0615405e-02 -7.8423148e-02 +1663 3.334 -3.0458956e-02 -7.8026244e-02 +1664 3.336 -3.0303298e-02 -7.7631308e-02 +1665 3.338 -3.0148429e-02 -7.7238332e-02 +1666 3.34 -2.9994344e-02 -7.6847307e-02 +1667 3.342 -2.9841038e-02 -7.6458222e-02 +1668 3.344 -2.9688509e-02 -7.6071069e-02 +1669 3.346 -2.9536753e-02 -7.5685838e-02 +1670 3.348 -2.9385765e-02 -7.5302521e-02 +1671 3.35 -2.9235542e-02 -7.4921108e-02 +1672 3.352 -2.9086079e-02 -7.4541590e-02 +1673 3.354 -2.8937374e-02 -7.4163959e-02 +1674 3.356 -2.8789422e-02 -7.3788205e-02 +1675 3.358 -2.8642220e-02 -7.3414318e-02 +1676 3.36 -2.8495764e-02 -7.3042292e-02 +1677 3.362 -2.8350049e-02 -7.2672115e-02 +1678 3.364 -2.8205074e-02 -7.2303780e-02 +1679 3.366 -2.8060833e-02 -7.1937278e-02 +1680 3.368 -2.7917324e-02 -7.1572600e-02 +1681 3.37 -2.7774541e-02 -7.1209738e-02 +1682 3.372 -2.7632483e-02 -7.0848682e-02 +1683 3.374 -2.7491146e-02 -7.0489424e-02 +1684 3.376 -2.7350524e-02 -7.0131955e-02 +1685 3.378 -2.7210617e-02 -6.9776267e-02 +1686 3.38 -2.7071418e-02 -6.9422351e-02 +1687 3.382 -2.6932926e-02 -6.9070199e-02 +1688 3.384 -2.6795136e-02 -6.8719802e-02 +1689 3.386 -2.6658046e-02 -6.8371153e-02 +1690 3.388 -2.6521651e-02 -6.8024241e-02 +1691 3.39 -2.6385947e-02 -6.7679060e-02 +1692 3.392 -2.6250933e-02 -6.7335600e-02 +1693 3.394 -2.6116604e-02 -6.6993855e-02 +1694 3.396 -2.5982957e-02 -6.6653814e-02 +1695 3.398 -2.5849988e-02 -6.6315470e-02 +1696 3.4 -2.5717694e-02 -6.5978816e-02 +1697 3.402 -2.5586071e-02 -6.5643842e-02 +1698 3.404 -2.5455117e-02 -6.5310541e-02 +1699 3.406 -2.5324828e-02 -6.4978904e-02 +1700 3.408 -2.5195200e-02 -6.4648924e-02 +1701 3.41 -2.5066231e-02 -6.4320593e-02 +1702 3.412 -2.4937917e-02 -6.3993902e-02 +1703 3.414 -2.4810254e-02 -6.3668845e-02 +1704 3.416 -2.4683240e-02 -6.3345412e-02 +1705 3.418 -2.4556872e-02 -6.3023596e-02 +1706 3.42 -2.4431145e-02 -6.2703389e-02 +1707 3.422 -2.4306057e-02 -6.2384783e-02 +1708 3.424 -2.4181605e-02 -6.2067772e-02 +1709 3.426 -2.4057785e-02 -6.1752346e-02 +1710 3.428 -2.3934594e-02 -6.1438499e-02 +1711 3.43 -2.3812030e-02 -6.1126222e-02 +1712 3.432 -2.3690088e-02 -6.0815508e-02 +1713 3.434 -2.3568767e-02 -6.0506350e-02 +1714 3.436 -2.3448062e-02 -6.0198740e-02 +1715 3.438 -2.3327971e-02 -5.9892670e-02 +1716 3.44 -2.3208490e-02 -5.9588133e-02 +1717 3.442 -2.3089617e-02 -5.9285122e-02 +1718 3.444 -2.2971349e-02 -5.8983628e-02 +1719 3.446 -2.2853682e-02 -5.8683646e-02 +1720 3.448 -2.2736613e-02 -5.8385167e-02 +1721 3.45 -2.2620140e-02 -5.8088184e-02 +1722 3.452 -2.2504259e-02 -5.7792690e-02 +1723 3.454 -2.2388968e-02 -5.7498678e-02 +1724 3.456 -2.2274264e-02 -5.7206140e-02 +1725 3.458 -2.2160143e-02 -5.6915069e-02 +1726 3.46 -2.2046603e-02 -5.6625458e-02 +1727 3.462 -2.1933640e-02 -5.6337301e-02 +1728 3.464 -2.1821252e-02 -5.6050589e-02 +1729 3.466 -2.1709437e-02 -5.5765316e-02 +1730 3.468 -2.1598190e-02 -5.5481475e-02 +1731 3.47 -2.1487510e-02 -5.5199059e-02 +1732 3.472 -2.1377393e-02 -5.4918061e-02 +1733 3.474 -2.1267837e-02 -5.4638474e-02 +1734 3.476 -2.1158838e-02 -5.4360291e-02 +1735 3.478 -2.1050395e-02 -5.4083506e-02 +1736 3.48 -2.0942503e-02 -5.3808111e-02 +1737 3.482 -2.0835161e-02 -5.3534099e-02 +1738 3.484 -2.0728366e-02 -5.3261465e-02 +1739 3.486 -2.0622114e-02 -5.2990200e-02 +1740 3.488 -2.0516404e-02 -5.2720300e-02 +1741 3.49 -2.0411232e-02 -5.2451756e-02 +1742 3.492 -2.0306596e-02 -5.2184562e-02 +1743 3.494 -2.0202493e-02 -5.1918712e-02 +1744 3.496 -2.0098920e-02 -5.1654199e-02 +1745 3.498 -1.9995875e-02 -5.1391016e-02 +1746 3.5 -1.9893356e-02 -5.1129158e-02 +1747 3.502 -1.9791358e-02 -5.0868616e-02 +1748 3.504 -1.9689880e-02 -5.0609386e-02 +1749 3.506 -1.9588920e-02 -5.0351461e-02 +1750 3.508 -1.9488473e-02 -5.0094833e-02 +1751 3.51 -1.9388539e-02 -4.9839498e-02 +1752 3.512 -1.9289115e-02 -4.9585448e-02 +1753 3.514 -1.9190197e-02 -4.9332677e-02 +1754 3.516 -1.9091783e-02 -4.9081180e-02 +1755 3.518 -1.8993871e-02 -4.8830949e-02 +1756 3.52 -1.8896458e-02 -4.8581978e-02 +1757 3.522 -1.8799542e-02 -4.8334262e-02 +1758 3.524 -1.8703121e-02 -4.8087793e-02 +1759 3.526 -1.8607190e-02 -4.7842567e-02 +1760 3.528 -1.8511749e-02 -4.7598577e-02 +1761 3.53 -1.8416795e-02 -4.7355816e-02 +1762 3.532 -1.8322325e-02 -4.7114280e-02 +1763 3.534 -1.8228337e-02 -4.6873960e-02 +1764 3.536 -1.8134829e-02 -4.6634853e-02 +1765 3.538 -1.8041797e-02 -4.6396952e-02 +1766 3.54 -1.7949240e-02 -4.6160250e-02 +1767 3.542 -1.7857155e-02 -4.5924742e-02 +1768 3.544 -1.7765540e-02 -4.5690423e-02 +1769 3.546 -1.7674393e-02 -4.5457285e-02 +1770 3.548 -1.7583710e-02 -4.5225324e-02 +1771 3.55 -1.7493491e-02 -4.4994533e-02 +1772 3.552 -1.7403732e-02 -4.4764908e-02 +1773 3.554 -1.7314430e-02 -4.4536441e-02 +1774 3.556 -1.7225585e-02 -4.4309128e-02 +1775 3.558 -1.7137193e-02 -4.4082962e-02 +1776 3.56 -1.7049252e-02 -4.3857938e-02 +1777 3.562 -1.6961761e-02 -4.3634051e-02 +1778 3.564 -1.6874715e-02 -4.3411295e-02 +1779 3.566 -1.6788115e-02 -4.3189663e-02 +1780 3.568 -1.6701956e-02 -4.2969151e-02 +1781 3.57 -1.6616237e-02 -4.2749754e-02 +1782 3.572 -1.6530956e-02 -4.2531464e-02 +1783 3.574 -1.6446111e-02 -4.2314278e-02 +1784 3.576 -1.6361698e-02 -4.2098190e-02 +1785 3.578 -1.6277717e-02 -4.1883194e-02 +1786 3.58 -1.6194165e-02 -4.1669284e-02 +1787 3.582 -1.6111039e-02 -4.1456456e-02 +1788 3.584 -1.6028338e-02 -4.1244704e-02 +1789 3.586 -1.5946060e-02 -4.1034023e-02 +1790 3.588 -1.5864202e-02 -4.0824407e-02 +1791 3.59 -1.5782762e-02 -4.0615852e-02 +1792 3.592 -1.5701737e-02 -4.0408351e-02 +1793 3.594 -1.5621127e-02 -4.0201900e-02 +1794 3.596 -1.5540929e-02 -3.9996493e-02 +1795 3.598 -1.5461141e-02 -3.9792126e-02 +1796 3.6 -1.5381760e-02 -3.9588793e-02 +1797 3.602 -1.5302785e-02 -3.9386489e-02 +1798 3.604 -1.5224213e-02 -3.9185209e-02 +1799 3.606 -1.5146043e-02 -3.8984948e-02 +1800 3.608 -1.5068273e-02 -3.8785700e-02 +1801 3.61 -1.4990900e-02 -3.8587462e-02 +1802 3.612 -1.4913922e-02 -3.8390227e-02 +1803 3.614 -1.4837338e-02 -3.8193990e-02 +1804 3.616 -1.4761146e-02 -3.7998748e-02 +1805 3.618 -1.4685343e-02 -3.7804494e-02 +1806 3.62 -1.4609927e-02 -3.7611225e-02 +1807 3.622 -1.4534897e-02 -3.7418934e-02 +1808 3.624 -1.4460251e-02 -3.7227618e-02 +1809 3.626 -1.4385986e-02 -3.7037271e-02 +1810 3.628 -1.4312101e-02 -3.6847888e-02 +1811 3.63 -1.4238594e-02 -3.6659466e-02 +1812 3.632 -1.4165462e-02 -3.6471998e-02 +1813 3.634 -1.4092705e-02 -3.6285480e-02 +1814 3.636 -1.4020320e-02 -3.6099908e-02 +1815 3.638 -1.3948305e-02 -3.5915277e-02 +1816 3.64 -1.3876658e-02 -3.5731582e-02 +1817 3.642 -1.3805378e-02 -3.5548818e-02 +1818 3.644 -1.3734462e-02 -3.5366981e-02 +1819 3.646 -1.3663909e-02 -3.5186067e-02 +1820 3.648 -1.3593717e-02 -3.5006069e-02 +1821 3.65 -1.3523885e-02 -3.4826985e-02 +1822 3.652 -1.3454409e-02 -3.4648809e-02 +1823 3.654 -1.3385289e-02 -3.4471538e-02 +1824 3.656 -1.3316522e-02 -3.4295165e-02 +1825 3.658 -1.3248107e-02 -3.4119688e-02 +1826 3.66 -1.3180043e-02 -3.3945101e-02 +1827 3.662 -1.3112326e-02 -3.3771400e-02 +1828 3.664 -1.3044957e-02 -3.3598581e-02 +1829 3.666 -1.2977932e-02 -3.3426639e-02 +1830 3.668 -1.2911249e-02 -3.3255569e-02 +1831 3.67 -1.2844909e-02 -3.3085369e-02 +1832 3.672 -1.2778907e-02 -3.2916032e-02 +1833 3.674 -1.2713244e-02 -3.2747555e-02 +1834 3.676 -1.2647917e-02 -3.2579934e-02 +1835 3.678 -1.2582924e-02 -3.2413164e-02 +1836 3.68 -1.2518263e-02 -3.2247241e-02 +1837 3.682 -1.2453934e-02 -3.2082161e-02 +1838 3.684 -1.2389934e-02 -3.1917919e-02 +1839 3.686 -1.2326262e-02 -3.1754512e-02 +1840 3.688 -1.2262916e-02 -3.1591935e-02 +1841 3.69 -1.2199894e-02 -3.1430183e-02 +1842 3.692 -1.2137194e-02 -3.1269254e-02 +1843 3.694 -1.2074816e-02 -3.1109143e-02 +1844 3.696 -1.2012757e-02 -3.0949845e-02 +1845 3.698 -1.1951016e-02 -3.0791357e-02 +1846 3.7 -1.1889591e-02 -3.0633675e-02 +1847 3.702 -1.1828481e-02 -3.0476794e-02 +1848 3.704 -1.1767684e-02 -3.0320711e-02 +1849 3.706 -1.1707198e-02 -3.0165421e-02 +1850 3.708 -1.1647021e-02 -3.0010921e-02 +1851 3.71 -1.1587153e-02 -2.9857206e-02 +1852 3.712 -1.1527592e-02 -2.9704273e-02 +1853 3.714 -1.1468336e-02 -2.9552118e-02 +1854 3.716 -1.1409383e-02 -2.9400737e-02 +1855 3.718 -1.1350732e-02 -2.9250125e-02 +1856 3.72 -1.1292382e-02 -2.9100280e-02 +1857 3.722 -1.1234331e-02 -2.8951197e-02 +1858 3.724 -1.1176577e-02 -2.8802873e-02 +1859 3.726 -1.1119119e-02 -2.8655303e-02 +1860 3.728 -1.1061955e-02 -2.8508484e-02 +1861 3.73 -1.1005084e-02 -2.8362413e-02 +1862 3.732 -1.0948505e-02 -2.8217084e-02 +1863 3.734 -1.0892215e-02 -2.8072495e-02 +1864 3.736 -1.0836214e-02 -2.7928642e-02 +1865 3.738 -1.0780500e-02 -2.7785522e-02 +1866 3.74 -1.0725072e-02 -2.7643130e-02 +1867 3.742 -1.0669927e-02 -2.7501462e-02 +1868 3.744 -1.0615065e-02 -2.7360517e-02 +1869 3.746 -1.0560485e-02 -2.7220288e-02 +1870 3.748 -1.0506184e-02 -2.7080774e-02 +1871 3.75 -1.0452161e-02 -2.6941970e-02 +1872 3.752 -1.0398415e-02 -2.6803873e-02 +1873 3.754 -1.0344945e-02 -2.6666479e-02 +1874 3.756 -1.0291749e-02 -2.6529785e-02 +1875 3.758 -1.0238826e-02 -2.6393788e-02 +1876 3.76 -1.0186173e-02 -2.6258483e-02 +1877 3.762 -1.0133791e-02 -2.6123867e-02 +1878 3.764 -1.0081678e-02 -2.5989937e-02 +1879 3.766 -1.0029831e-02 -2.5856690e-02 +1880 3.768 -9.9782503e-03 -2.5724121e-02 +1881 3.77 -9.9269341e-03 -2.5592228e-02 +1882 3.772 -9.8758810e-03 -2.5461007e-02 +1883 3.774 -9.8250896e-03 -2.5330455e-02 +1884 3.776 -9.7745587e-03 -2.5200569e-02 +1885 3.778 -9.7242869e-03 -2.5071344e-02 +1886 3.78 -9.6742729e-03 -2.4942778e-02 +1887 3.782 -9.6245154e-03 -2.4814867e-02 +1888 3.784 -9.5750130e-03 -2.4687608e-02 +1889 3.786 -9.5257645e-03 -2.4560998e-02 +1890 3.788 -9.4767686e-03 -2.4435034e-02 +1891 3.79 -9.4280239e-03 -2.4309712e-02 +1892 3.792 -9.3795293e-03 -2.4185029e-02 +1893 3.794 -9.3312834e-03 -2.4060981e-02 +1894 3.796 -9.2832850e-03 -2.3937567e-02 +1895 3.798 -9.2355327e-03 -2.3814782e-02 +1896 3.8 -9.1880254e-03 -2.3692623e-02 +1897 3.802 -9.1407618e-03 -2.3571087e-02 +1898 3.804 -9.0937407e-03 -2.3450171e-02 +1899 3.806 -9.0469607e-03 -2.3329871e-02 +1900 3.808 -9.0004208e-03 -2.3210186e-02 +1901 3.81 -8.9541196e-03 -2.3091111e-02 +1902 3.812 -8.9080559e-03 -2.2972644e-02 +1903 3.814 -8.8622286e-03 -2.2854781e-02 +1904 3.816 -8.8166364e-03 -2.2737520e-02 +1905 3.818 -8.7712781e-03 -2.2620856e-02 +1906 3.82 -8.7261526e-03 -2.2504789e-02 +1907 3.822 -8.6812586e-03 -2.2389313e-02 +1908 3.824 -8.6365949e-03 -2.2274427e-02 +1909 3.826 -8.5921605e-03 -2.2160128e-02 +1910 3.828 -8.5479540e-03 -2.2046412e-02 +1911 3.83 -8.5039744e-03 -2.1933276e-02 +1912 3.832 -8.4602205e-03 -2.1820718e-02 +1913 3.834 -8.4166912e-03 -2.1708735e-02 +1914 3.836 -8.3733852e-03 -2.1597323e-02 +1915 3.838 -8.3303015e-03 -2.1486480e-02 +1916 3.84 -8.2874389e-03 -2.1376203e-02 +1917 3.842 -8.2447963e-03 -2.1266489e-02 +1918 3.844 -8.2023726e-03 -2.1157336e-02 +1919 3.846 -8.1601666e-03 -2.1048740e-02 +1920 3.848 -8.1181772e-03 -2.0940698e-02 +1921 3.85 -8.0764034e-03 -2.0833208e-02 +1922 3.852 -8.0348440e-03 -2.0726268e-02 +1923 3.854 -7.9934980e-03 -2.0619873e-02 +1924 3.856 -7.9523642e-03 -2.0514022e-02 +1925 3.858 -7.9114415e-03 -2.0408712e-02 +1926 3.86 -7.8707290e-03 -2.0303940e-02 +1927 3.862 -7.8302254e-03 -2.0199703e-02 +1928 3.864 -7.7899298e-03 -2.0095999e-02 +1929 3.866 -7.7498411e-03 -1.9992824e-02 +1930 3.868 -7.7099582e-03 -1.9890177e-02 +1931 3.87 -7.6702800e-03 -1.9788054e-02 +1932 3.872 -7.6308056e-03 -1.9686453e-02 +1933 3.874 -7.5915339e-03 -1.9585372e-02 +1934 3.876 -7.5524638e-03 -1.9484807e-02 +1935 3.878 -7.5135943e-03 -1.9384756e-02 +1936 3.88 -7.4749244e-03 -1.9285216e-02 +1937 3.882 -7.4364531e-03 -1.9186185e-02 +1938 3.884 -7.3981793e-03 -1.9087660e-02 +1939 3.886 -7.3601021e-03 -1.8989639e-02 +1940 3.888 -7.3222204e-03 -1.8892120e-02 +1941 3.89 -7.2845333e-03 -1.8795098e-02 +1942 3.892 -7.2470397e-03 -1.8698573e-02 +1943 3.894 -7.2097387e-03 -1.8602541e-02 +1944 3.896 -7.1726292e-03 -1.8507000e-02 +1945 3.898 -7.1357104e-03 -1.8411948e-02 +1946 3.9 -7.0989811e-03 -1.8317382e-02 +1947 3.902 -7.0624405e-03 -1.8223300e-02 +1948 3.904 -7.0260876e-03 -1.8129698e-02 +1949 3.906 -6.9899214e-03 -1.8036576e-02 +1950 3.908 -6.9539410e-03 -1.7943929e-02 +1951 3.91 -6.9181454e-03 -1.7851757e-02 +1952 3.912 -6.8825336e-03 -1.7760056e-02 +1953 3.914 -6.8471048e-03 -1.7668824e-02 +1954 3.916 -6.8118580e-03 -1.7578058e-02 +1955 3.918 -6.7767923e-03 -1.7487757e-02 +1956 3.92 -6.7419067e-03 -1.7397918e-02 +1957 3.922 -6.7072003e-03 -1.7308539e-02 +1958 3.924 -6.6726722e-03 -1.7219617e-02 +1959 3.926 -6.6383215e-03 -1.7131150e-02 +1960 3.928 -6.6041473e-03 -1.7043135e-02 +1961 3.93 -6.5701487e-03 -1.6955571e-02 +1962 3.932 -6.5363247e-03 -1.6868455e-02 +1963 3.934 -6.5026746e-03 -1.6781785e-02 +1964 3.936 -6.4691973e-03 -1.6695558e-02 +1965 3.938 -6.4358920e-03 -1.6609773e-02 +1966 3.94 -6.4027579e-03 -1.6524427e-02 +1967 3.942 -6.3697940e-03 -1.6439517e-02 +1968 3.944 -6.3369996e-03 -1.6355043e-02 +1969 3.946 -6.3043736e-03 -1.6271000e-02 +1970 3.948 -6.2719153e-03 -1.6187388e-02 +1971 3.95 -6.2396238e-03 -1.6104204e-02 +1972 3.952 -6.2074982e-03 -1.6021445e-02 +1973 3.954 -6.1755377e-03 -1.5939111e-02 +1974 3.956 -6.1437415e-03 -1.5857197e-02 +1975 3.958 -6.1121086e-03 -1.5775704e-02 +1976 3.96 -6.0806384e-03 -1.5694627e-02 +1977 3.962 -6.0493298e-03 -1.5613966e-02 +1978 3.964 -6.0181822e-03 -1.5533717e-02 +1979 3.966 -5.9871947e-03 -1.5453880e-02 +1980 3.968 -5.9563664e-03 -1.5374451e-02 +1981 3.97 -5.9256966e-03 -1.5295430e-02 +1982 3.972 -5.8951844e-03 -1.5216812e-02 +1983 3.974 -5.8648291e-03 -1.5138598e-02 +1984 3.976 -5.8346298e-03 -1.5060784e-02 +1985 3.978 -5.8045857e-03 -1.4983369e-02 +1986 3.98 -5.7746960e-03 -1.4906350e-02 +1987 3.982 -5.7449600e-03 -1.4829726e-02 +1988 3.984 -5.7153769e-03 -1.4753494e-02 +1989 3.986 -5.6859458e-03 -1.4677652e-02 +1990 3.988 -5.6566660e-03 -1.4602200e-02 +1991 3.99 -5.6275367e-03 -1.4527133e-02 +1992 3.992 -5.5985572e-03 -1.4452452e-02 +1993 3.994 -5.5697267e-03 -1.4378153e-02 +1994 3.996 -5.5410444e-03 -1.4304234e-02 +1995 3.998 -5.5125095e-03 -1.4230695e-02 +1996 4.0 -5.4841213e-03 -1.4157532e-02 +1997 4.002 -5.4558791e-03 -1.4084744e-02 +1998 4.004 -5.4277821e-03 -1.4012329e-02 +1999 4.006 -5.3998295e-03 -1.3940285e-02 +2000 4.008 -5.3720207e-03 -1.3868610e-02 +2001 4.01 -5.3443549e-03 -1.3797303e-02 +2002 4.012 -5.3168313e-03 -1.3726361e-02 +2003 4.014 -5.2894492e-03 -1.3655783e-02 +2004 4.016 -5.2622079e-03 -1.3585566e-02 +2005 4.018 -5.2351067e-03 -1.3515709e-02 +2006 4.02 -5.2081448e-03 -1.3446211e-02 +2007 4.022 -5.1813216e-03 -1.3377068e-02 +2008 4.024 -5.1546363e-03 -1.3308280e-02 +2009 4.026 -5.1280882e-03 -1.3239845e-02 +2010 4.028 -5.1016767e-03 -1.3171760e-02 +2011 4.03 -5.0754010e-03 -1.3104025e-02 +2012 4.032 -5.0492604e-03 -1.3036637e-02 +2013 4.034 -5.0232542e-03 -1.2969594e-02 +2014 4.036 -4.9973818e-03 -1.2902895e-02 +2015 4.038 -4.9716424e-03 -1.2836538e-02 +2016 4.04 -4.9460354e-03 -1.2770521e-02 +2017 4.042 -4.9205601e-03 -1.2704842e-02 +2018 4.044 -4.8952158e-03 -1.2639501e-02 +2019 4.046 -4.8700018e-03 -1.2574494e-02 +2020 4.048 -4.8449176e-03 -1.2509821e-02 +2021 4.05 -4.8199623e-03 -1.2445480e-02 +2022 4.052 -4.7951354e-03 -1.2381468e-02 +2023 4.054 -4.7704362e-03 -1.2317785e-02 +2024 4.056 -4.7458641e-03 -1.2254428e-02 +2025 4.058 -4.7214183e-03 -1.2191396e-02 +2026 4.06 -4.6970983e-03 -1.2128688e-02 +2027 4.062 -4.6729034e-03 -1.2066301e-02 +2028 4.064 -4.6488329e-03 -1.2004234e-02 +2029 4.066 -4.6248862e-03 -1.1942486e-02 +2030 4.068 -4.6010627e-03 -1.1881054e-02 +2031 4.07 -4.5773618e-03 -1.1819937e-02 +2032 4.072 -4.5537828e-03 -1.1759134e-02 +2033 4.074 -4.5303250e-03 -1.1698643e-02 +2034 4.076 -4.5069880e-03 -1.1638462e-02 +2035 4.078 -4.4837710e-03 -1.1578590e-02 +2036 4.08 -4.4606734e-03 -1.1519025e-02 +2037 4.082 -4.4376947e-03 -1.1459766e-02 +2038 4.084 -4.4148341e-03 -1.1400810e-02 +2039 4.086 -4.3920912e-03 -1.1342157e-02 +2040 4.088 -4.3694653e-03 -1.1283806e-02 +2041 4.09 -4.3469558e-03 -1.1225753e-02 +2042 4.092 -4.3245621e-03 -1.1167998e-02 +2043 4.094 -4.3022836e-03 -1.1110540e-02 +2044 4.096 -4.2801198e-03 -1.1053377e-02 +2045 4.098 -4.2580699e-03 -1.0996507e-02 +2046 4.1 -4.2361335e-03 -1.0939928e-02 +2047 4.102 -4.2143100e-03 -1.0883641e-02 +2048 4.104 -4.1925988e-03 -1.0827642e-02 +2049 4.106 -4.1709992e-03 -1.0771930e-02 +2050 4.108 -4.1495109e-03 -1.0716504e-02 +2051 4.11 -4.1281330e-03 -1.0661363e-02 +2052 4.112 -4.1068652e-03 -1.0606505e-02 +2053 4.114 -4.0857068e-03 -1.0551928e-02 +2054 4.116 -4.0646573e-03 -1.0497632e-02 +2055 4.118 -4.0437161e-03 -1.0443614e-02 +2056 4.12 -4.0228827e-03 -1.0389874e-02 +2057 4.122 -4.0021564e-03 -1.0336409e-02 +2058 4.124 -3.9815369e-03 -1.0283219e-02 +2059 4.126 -3.9610234e-03 -1.0230302e-02 +2060 4.128 -3.9406155e-03 -1.0177656e-02 +2061 4.13 -3.9203126e-03 -1.0125281e-02 +2062 4.132 -3.9001142e-03 -1.0073175e-02 +2063 4.134 -3.8800197e-03 -1.0021336e-02 +2064 4.136 -3.8600286e-03 -9.9697632e-03 +2065 4.138 -3.8401405e-03 -9.9184553e-03 +2066 4.14 -3.8203547e-03 -9.8674109e-03 +2067 4.142 -3.8006707e-03 -9.8166286e-03 +2068 4.144 -3.7810880e-03 -9.7661070e-03 +2069 4.146 -3.7616061e-03 -9.7158448e-03 +2070 4.148 -3.7422244e-03 -9.6658407e-03 +2071 4.15 -3.7229425e-03 -9.6160934e-03 +2072 4.152 -3.7037599e-03 -9.5666015e-03 +2073 4.154 -3.6846759e-03 -9.5173638e-03 +2074 4.156 -3.6656902e-03 -9.4683790e-03 +2075 4.158 -3.6468023e-03 -9.4196457e-03 +2076 4.16 -3.6280115e-03 -9.3711627e-03 +2077 4.162 -3.6093174e-03 -9.3229287e-03 +2078 4.164 -3.5907196e-03 -9.2749424e-03 +2079 4.166 -3.5722175e-03 -9.2272025e-03 +2080 4.168 -3.5538106e-03 -9.1797079e-03 +2081 4.17 -3.5354985e-03 -9.1324572e-03 +2082 4.172 -3.5172807e-03 -9.0854492e-03 +2083 4.174 -3.4991566e-03 -9.0386826e-03 +2084 4.176 -3.4811258e-03 -8.9921562e-03 +2085 4.178 -3.4631878e-03 -8.9458689e-03 +2086 4.18 -3.4453421e-03 -8.8998193e-03 +2087 4.182 -3.4275883e-03 -8.8540063e-03 +2088 4.184 -3.4099259e-03 -8.8084286e-03 +2089 4.186 -3.3923545e-03 -8.7630850e-03 +2090 4.188 -3.3748735e-03 -8.7179744e-03 +2091 4.19 -3.3574824e-03 -8.6730955e-03 +2092 4.192 -3.3401809e-03 -8.6284472e-03 +2093 4.194 -3.3229685e-03 -8.5840283e-03 +2094 4.196 -3.3058446e-03 -8.5398375e-03 +2095 4.198 -3.2888090e-03 -8.4958739e-03 +2096 4.2 -3.2718610e-03 -8.4521360e-03 +2097 4.202 -3.2550003e-03 -8.4086230e-03 +2098 4.204 -3.2382264e-03 -8.3653334e-03 +2099 4.206 -3.2215388e-03 -8.3222664e-03 +2100 4.208 -3.2049371e-03 -8.2794206e-03 +2101 4.21 -3.1884210e-03 -8.2367949e-03 +2102 4.212 -3.1719898e-03 -8.1943883e-03 +2103 4.214 -3.1556433e-03 -8.1521996e-03 +2104 4.216 -3.1393809e-03 -8.1102277e-03 +2105 4.218 -3.1232022e-03 -8.0684715e-03 +2106 4.22 -3.1071069e-03 -8.0269299e-03 +2107 4.222 -3.0910944e-03 -7.9856017e-03 +2108 4.224 -3.0751643e-03 -7.9444859e-03 +2109 4.226 -3.0593163e-03 -7.9035815e-03 +2110 4.228 -3.0435498e-03 -7.8628872e-03 +2111 4.23 -3.0278646e-03 -7.8224021e-03 +2112 4.232 -3.0122601e-03 -7.7821251e-03 +2113 4.234 -2.9967359e-03 -7.7420551e-03 +2114 4.236 -2.9812917e-03 -7.7021910e-03 +2115 4.238 -2.9659270e-03 -7.6625318e-03 +2116 4.24 -2.9506415e-03 -7.6230765e-03 +2117 4.242 -2.9354346e-03 -7.5838239e-03 +2118 4.244 -2.9203060e-03 -7.5447731e-03 +2119 4.246 -2.9052554e-03 -7.5059231e-03 +2120 4.248 -2.8902822e-03 -7.4672727e-03 +2121 4.25 -2.8753862e-03 -7.4288210e-03 +2122 4.252 -2.8605668e-03 -7.3905670e-03 +2123 4.254 -2.8458238e-03 -7.3525096e-03 +2124 4.256 -2.8311566e-03 -7.3146479e-03 +2125 4.258 -2.8165650e-03 -7.2769808e-03 +2126 4.26 -2.8020486e-03 -7.2395073e-03 +2127 4.262 -2.7876069e-03 -7.2022265e-03 +2128 4.264 -2.7732395e-03 -7.1651373e-03 +2129 4.266 -2.7589462e-03 -7.1282388e-03 +2130 4.268 -2.7447265e-03 -7.0915300e-03 +2131 4.27 -2.7305800e-03 -7.0550100e-03 +2132 4.272 -2.7165063e-03 -7.0186777e-03 +2133 4.274 -2.7025051e-03 -6.9825322e-03 +2134 4.276 -2.6885760e-03 -6.9465725e-03 +2135 4.278 -2.6747187e-03 -6.9107978e-03 +2136 4.28 -2.6609327e-03 -6.8752069e-03 +2137 4.282 -2.6472178e-03 -6.8397991e-03 +2138 4.284 -2.6335734e-03 -6.8045734e-03 +2139 4.286 -2.6199993e-03 -6.7695287e-03 +2140 4.288 -2.6064952e-03 -6.7346643e-03 +2141 4.29 -2.5930606e-03 -6.6999792e-03 +2142 4.292 -2.5796951e-03 -6.6654724e-03 +2143 4.294 -2.5663986e-03 -6.6311430e-03 +2144 4.296 -2.5531705e-03 -6.5969902e-03 +2145 4.298 -2.5400105e-03 -6.5630130e-03 +2146 4.3 -2.5269183e-03 -6.5292105e-03 +2147 4.302 -2.5138935e-03 -6.4955819e-03 +2148 4.304 -2.5009358e-03 -6.4621262e-03 +2149 4.306 -2.4880449e-03 -6.4288426e-03 +2150 4.308 -2.4752204e-03 -6.3957301e-03 +2151 4.31 -2.4624619e-03 -6.3627879e-03 +2152 4.312 -2.4497691e-03 -6.3300152e-03 +2153 4.314 -2.4371417e-03 -6.2974110e-03 +2154 4.316 -2.4245793e-03 -6.2649745e-03 +2155 4.318 -2.4120817e-03 -6.2327048e-03 +2156 4.32 -2.3996484e-03 -6.2006011e-03 +2157 4.322 -2.3872792e-03 -6.1686626e-03 +2158 4.324 -2.3749736e-03 -6.1368882e-03 +2159 4.326 -2.3627315e-03 -6.1052774e-03 +2160 4.328 -2.3505524e-03 -6.0738291e-03 +2161 4.33 -2.3384361e-03 -6.0425426e-03 +2162 4.332 -2.3263822e-03 -6.0114170e-03 +2163 4.334 -2.3143903e-03 -5.9804515e-03 +2164 4.336 -2.3024602e-03 -5.9496453e-03 +2165 4.338 -2.2905916e-03 -5.9189976e-03 +2166 4.34 -2.2787841e-03 -5.8885075e-03 +2167 4.342 -2.2670375e-03 -5.8581743e-03 +2168 4.344 -2.2553513e-03 -5.8279971e-03 +2169 4.346 -2.2437254e-03 -5.7979751e-03 +2170 4.348 -2.2321593e-03 -5.7681076e-03 +2171 4.35 -2.2206529e-03 -5.7383938e-03 +2172 4.352 -2.2092057e-03 -5.7088328e-03 +2173 4.354 -2.1978174e-03 -5.6794239e-03 +2174 4.356 -2.1864879e-03 -5.6501663e-03 +2175 4.358 -2.1752167e-03 -5.6210592e-03 +2176 4.36 -2.1640035e-03 -5.5921018e-03 +2177 4.362 -2.1528482e-03 -5.5632935e-03 +2178 4.364 -2.1417503e-03 -5.5346333e-03 +2179 4.366 -2.1307095e-03 -5.5061207e-03 +2180 4.368 -2.1197257e-03 -5.4777547e-03 +2181 4.37 -2.1087984e-03 -5.4495346e-03 +2182 4.372 -2.0979274e-03 -5.4214598e-03 +2183 4.374 -2.0871125e-03 -5.3935294e-03 +2184 4.376 -2.0763532e-03 -5.3657427e-03 +2185 4.378 -2.0656494e-03 -5.3380990e-03 +2186 4.38 -2.0550007e-03 -5.3105976e-03 +2187 4.382 -2.0444069e-03 -5.2832376e-03 +2188 4.384 -2.0338677e-03 -5.2560185e-03 +2189 4.386 -2.0233828e-03 -5.2289393e-03 +2190 4.388 -2.0129518e-03 -5.2019996e-03 +2191 4.39 -2.0025747e-03 -5.1751984e-03 +2192 4.392 -1.9922510e-03 -5.1485352e-03 +2193 4.394 -1.9819804e-03 -5.1220092e-03 +2194 4.396 -1.9717628e-03 -5.0956197e-03 +2195 4.398 -1.9615979e-03 -5.0693660e-03 +2196 4.4 -1.9514853e-03 -5.0432474e-03 +2197 4.402 -1.9414248e-03 -5.0172632e-03 +2198 4.404 -1.9314161e-03 -4.9914127e-03 +2199 4.406 -1.9214590e-03 -4.9656953e-03 +2200 4.408 -1.9115533e-03 -4.9401102e-03 +2201 4.41 -1.9016985e-03 -4.9146568e-03 +2202 4.412 -1.8918945e-03 -4.8893343e-03 +2203 4.414 -1.8821411e-03 -4.8641422e-03 +2204 4.416 -1.8724379e-03 -4.8390798e-03 +2205 4.418 -1.8627847e-03 -4.8141464e-03 +2206 4.42 -1.8531812e-03 -4.7893412e-03 +2207 4.422 -1.8436272e-03 -4.7646638e-03 +2208 4.424 -1.8341225e-03 -4.7401133e-03 +2209 4.426 -1.8246667e-03 -4.7156892e-03 +2210 4.428 -1.8152596e-03 -4.6913908e-03 +2211 4.43 -1.8059011e-03 -4.6672175e-03 +2212 4.432 -1.7965907e-03 -4.6431686e-03 +2213 4.434 -1.7873283e-03 -4.6192435e-03 +2214 4.436 -1.7781136e-03 -4.5954416e-03 +2215 4.438 -1.7689464e-03 -4.5717621e-03 +2216 4.44 -1.7598265e-03 -4.5482046e-03 +2217 4.442 -1.7507535e-03 -4.5247683e-03 +2218 4.444 -1.7417273e-03 -4.5014526e-03 +2219 4.446 -1.7327477e-03 -4.4782569e-03 +2220 4.448 -1.7238142e-03 -4.4551807e-03 +2221 4.45 -1.7149269e-03 -4.4322232e-03 +2222 4.452 -1.7060853e-03 -4.4093840e-03 +2223 4.454 -1.6972892e-03 -4.3866623e-03 +2224 4.456 -1.6885385e-03 -4.3640575e-03 +2225 4.458 -1.6798329e-03 -4.3415691e-03 +2226 4.46 -1.6711722e-03 -4.3191965e-03 +2227 4.462 -1.6625561e-03 -4.2969391e-03 +2228 4.464 -1.6539844e-03 -4.2747962e-03 +2229 4.466 -1.6454568e-03 -4.2527674e-03 +2230 4.468 -1.6369732e-03 -4.2308519e-03 +2231 4.47 -1.6285333e-03 -4.2090493e-03 +2232 4.472 -1.6201369e-03 -4.1873589e-03 +2233 4.474 -1.6117838e-03 -4.1657801e-03 +2234 4.476 -1.6034737e-03 -4.1443125e-03 +2235 4.478 -1.5952065e-03 -4.1229554e-03 +2236 4.48 -1.5869818e-03 -4.1017083e-03 +2237 4.482 -1.5787996e-03 -4.0805705e-03 +2238 4.484 -1.5706595e-03 -4.0595416e-03 +2239 4.486 -1.5625613e-03 -4.0386209e-03 +2240 4.488 -1.5545049e-03 -4.0178079e-03 +2241 4.49 -1.5464900e-03 -3.9971021e-03 +2242 4.492 -1.5385165e-03 -3.9765030e-03 +2243 4.494 -1.5305840e-03 -3.9560098e-03 +2244 4.496 -1.5226923e-03 -3.9356222e-03 +2245 4.498 -1.5148414e-03 -3.9153396e-03 +2246 4.5 -1.5070309e-03 -3.8951614e-03 +2247 4.502 -1.4992607e-03 -3.8750871e-03 +2248 4.504 -1.4915305e-03 -3.8551161e-03 +2249 4.506 -1.4838402e-03 -3.8352480e-03 +2250 4.508 -1.4761894e-03 -3.8154822e-03 +2251 4.51 -1.4685782e-03 -3.7958182e-03 +2252 4.512 -1.4610061e-03 -3.7762554e-03 +2253 4.514 -1.4534731e-03 -3.7567934e-03 +2254 4.516 -1.4459789e-03 -3.7374315e-03 +2255 4.518 -1.4385233e-03 -3.7181694e-03 +2256 4.52 -1.4311061e-03 -3.6990065e-03 +2257 4.522 -1.4237272e-03 -3.6799422e-03 +2258 4.524 -1.4163863e-03 -3.6609761e-03 +2259 4.526 -1.4090832e-03 -3.6421077e-03 +2260 4.528 -1.4018178e-03 -3.6233364e-03 +2261 4.53 -1.3945898e-03 -3.6046618e-03 +2262 4.532 -1.3873991e-03 -3.5860834e-03 +2263 4.534 -1.3802454e-03 -3.5676006e-03 +2264 4.536 -1.3731286e-03 -3.5492131e-03 +2265 4.538 -1.3660485e-03 -3.5309202e-03 +2266 4.54 -1.3590049e-03 -3.5127215e-03 +2267 4.542 -1.3519975e-03 -3.4946165e-03 +2268 4.544 -1.3450263e-03 -3.4766048e-03 +2269 4.546 -1.3380911e-03 -3.4586859e-03 +2270 4.548 -1.3311915e-03 -3.4408592e-03 +2271 4.55 -1.3243276e-03 -3.4231243e-03 +2272 4.552 -1.3174990e-03 -3.4054808e-03 +2273 4.554 -1.3107056e-03 -3.3879281e-03 +2274 4.556 -1.3039472e-03 -3.3704659e-03 +2275 4.558 -1.2972237e-03 -3.3530935e-03 +2276 4.56 -1.2905348e-03 -3.3358107e-03 +2277 4.562 -1.2838804e-03 -3.3186168e-03 +2278 4.564 -1.2772602e-03 -3.3015115e-03 +2279 4.566 -1.2706743e-03 -3.2844944e-03 +2280 4.568 -1.2641222e-03 -3.2675648e-03 +2281 4.57 -1.2576039e-03 -3.2507225e-03 +2282 4.572 -1.2511193e-03 -3.2339669e-03 +2283 4.574 -1.2446680e-03 -3.2172975e-03 +2284 4.576 -1.2382500e-03 -3.2007141e-03 +2285 4.578 -1.2318651e-03 -3.1842161e-03 +2286 4.58 -1.2255131e-03 -3.1678030e-03 +2287 4.582 -1.2191938e-03 -3.1514745e-03 +2288 4.584 -1.2129071e-03 -3.1352301e-03 +2289 4.586 -1.2066529e-03 -3.1190693e-03 +2290 4.588 -1.2004308e-03 -3.1029918e-03 +2291 4.59 -1.1942408e-03 -3.0869971e-03 +2292 4.592 -1.1880828e-03 -3.0710848e-03 +2293 4.594 -1.1819564e-03 -3.0552545e-03 +2294 4.596 -1.1758617e-03 -3.0395057e-03 +2295 4.598 -1.1697984e-03 -3.0238380e-03 +2296 4.6 -1.1637663e-03 -3.0082511e-03 +2297 4.602 -1.1577653e-03 -2.9927444e-03 +2298 4.604 -1.1517953e-03 -2.9773176e-03 +2299 4.606 -1.1458560e-03 -2.9619703e-03 +2300 4.608 -1.1399473e-03 -2.9467020e-03 +2301 4.61 -1.1340691e-03 -2.9315124e-03 +2302 4.612 -1.1282212e-03 -2.9164010e-03 +2303 4.614 -1.1224035e-03 -2.9013674e-03 +2304 4.616 -1.1166157e-03 -2.8864113e-03 +2305 4.618 -1.1108578e-03 -2.8715323e-03 +2306 4.62 -1.1051295e-03 -2.8567299e-03 +2307 4.622 -1.0994308e-03 -2.8420037e-03 +2308 4.624 -1.0937615e-03 -2.8273534e-03 +2309 4.626 -1.0881213e-03 -2.8127786e-03 +2310 4.628 -1.0825103e-03 -2.7982789e-03 +2311 4.63 -1.0769282e-03 -2.7838539e-03 +2312 4.632 -1.0713748e-03 -2.7695031e-03 +2313 4.634 -1.0658501e-03 -2.7552263e-03 +2314 4.636 -1.0603539e-03 -2.7410231e-03 +2315 4.638 -1.0548860e-03 -2.7268930e-03 +2316 4.64 -1.0494462e-03 -2.7128357e-03 +2317 4.642 -1.0440346e-03 -2.6988509e-03 +2318 4.644 -1.0386508e-03 -2.6849381e-03 +2319 4.646 -1.0332948e-03 -2.6710969e-03 +2320 4.648 -1.0279664e-03 -2.6573271e-03 +2321 4.65 -1.0226654e-03 -2.6436282e-03 +2322 4.652 -1.0173918e-03 -2.6299999e-03 +2323 4.654 -1.0121454e-03 -2.6164418e-03 +2324 4.656 -1.0069260e-03 -2.6029536e-03 +2325 4.658 -1.0017335e-03 -2.5895348e-03 +2326 4.66 -9.9656780e-04 -2.5761852e-03 +2327 4.662 -9.9142872e-04 -2.5629044e-03 +2328 4.664 -9.8631614e-04 -2.5496920e-03 +2329 4.666 -9.8122991e-04 -2.5365476e-03 +2330 4.668 -9.7616990e-04 -2.5234710e-03 +2331 4.67 -9.7113598e-04 -2.5104618e-03 +2332 4.672 -9.6612801e-04 -2.4975196e-03 +2333 4.674 -9.6114586e-04 -2.4846440e-03 +2334 4.676 -9.5618939e-04 -2.4718349e-03 +2335 4.678 -9.5125847e-04 -2.4590917e-03 +2336 4.68 -9.4635298e-04 -2.4464141e-03 +2337 4.682 -9.4147277e-04 -2.4338019e-03 +2338 4.684 -9.3661773e-04 -2.4212547e-03 +2339 4.686 -9.3178771e-04 -2.4087721e-03 +2340 4.688 -9.2698260e-04 -2.3963538e-03 +2341 4.69 -9.2220225e-04 -2.3839995e-03 +2342 4.692 -9.1744656e-04 -2.3717089e-03 +2343 4.694 -9.1271538e-04 -2.3594816e-03 +2344 4.696 -9.0800859e-04 -2.3473173e-03 +2345 4.698 -9.0332606e-04 -2.3352157e-03 +2346 4.7 -8.9866768e-04 -2.3231765e-03 +2347 4.702 -8.9403332e-04 -2.3111992e-03 +2348 4.704 -8.8942284e-04 -2.2992837e-03 +2349 4.706 -8.8483614e-04 -2.2874296e-03 +2350 4.708 -8.8027308e-04 -2.2756366e-03 +2351 4.71 -8.7573355e-04 -2.2639044e-03 +2352 4.712 -8.7121743e-04 -2.2522325e-03 +2353 4.714 -8.6672458e-04 -2.2406209e-03 +2354 4.716 -8.6225490e-04 -2.2290691e-03 +2355 4.718 -8.5780827e-04 -2.2175768e-03 +2356 4.72 -8.5338456e-04 -2.2061437e-03 +2357 4.722 -8.4898365e-04 -2.1947695e-03 +2358 4.724 -8.4460544e-04 -2.1834540e-03 +2359 4.726 -8.4024980e-04 -2.1721967e-03 +2360 4.728 -8.3591661e-04 -2.1609975e-03 +2361 4.73 -8.3160577e-04 -2.1498560e-03 +2362 4.732 -8.2731715e-04 -2.1387719e-03 +2363 4.734 -8.2305065e-04 -2.1277449e-03 +2364 4.736 -8.1880613e-04 -2.1167747e-03 +2365 4.738 -8.1458351e-04 -2.1058611e-03 +2366 4.74 -8.1038265e-04 -2.0950037e-03 +2367 4.742 -8.0620346e-04 -2.0842022e-03 +2368 4.744 -8.0204581e-04 -2.0734565e-03 +2369 4.746 -7.9790959e-04 -2.0627661e-03 +2370 4.748 -7.9379471e-04 -2.0521308e-03 +2371 4.75 -7.8970103e-04 -2.0415503e-03 +2372 4.752 -7.8562847e-04 -2.0310243e-03 +2373 4.754 -7.8157690e-04 -2.0205526e-03 +2374 4.756 -7.7754622e-04 -2.0101348e-03 +2375 4.758 -7.7353633e-04 -1.9997707e-03 +2376 4.76 -7.6954710e-04 -1.9894600e-03 +2377 4.762 -7.6557845e-04 -1.9792025e-03 +2378 4.764 -7.6163026e-04 -1.9689978e-03 +2379 4.766 -7.5770242e-04 -1.9588458e-03 +2380 4.768 -7.5379484e-04 -1.9487460e-03 +2381 4.77 -7.4990741e-04 -1.9386983e-03 +2382 4.772 -7.4604001e-04 -1.9287024e-03 +2383 4.774 -7.4219256e-04 -1.9187580e-03 +2384 4.776 -7.3836495e-04 -1.9088648e-03 +2385 4.778 -7.3455707e-04 -1.8990227e-03 +2386 4.78 -7.3076882e-04 -1.8892312e-03 +2387 4.782 -7.2700011e-04 -1.8794902e-03 +2388 4.784 -7.2325083e-04 -1.8697994e-03 +2389 4.786 -7.1952088e-04 -1.8601586e-03 +2390 4.788 -7.1581016e-04 -1.8505675e-03 +2391 4.79 -7.1211858e-04 -1.8410257e-03 +2392 4.792 -7.0844602e-04 -1.8315332e-03 +2393 4.794 -7.0479241e-04 -1.8220896e-03 +2394 4.796 -7.0115763e-04 -1.8126946e-03 +2395 4.798 -6.9754160e-04 -1.8033481e-03 +2396 4.8 -6.9394421e-04 -1.7940498e-03 +2397 4.802 -6.9036537e-04 -1.7847993e-03 +2398 4.804 -6.8680498e-04 -1.7755966e-03 +2399 4.806 -6.8326295e-04 -1.7664413e-03 +2400 4.808 -6.7973918e-04 -1.7573332e-03 +2401 4.81 -6.7623359e-04 -1.7482720e-03 +2402 4.812 -6.7274606e-04 -1.7392575e-03 +2403 4.814 -6.6927653e-04 -1.7302895e-03 +2404 4.816 -6.6582488e-04 -1.7213677e-03 +2405 4.818 -6.6239102e-04 -1.7124918e-03 +2406 4.82 -6.5897488e-04 -1.7036618e-03 +2407 4.822 -6.5557635e-04 -1.6948772e-03 +2408 4.824 -6.5219534e-04 -1.6861379e-03 +2409 4.826 -6.4883176e-04 -1.6774437e-03 +2410 4.828 -6.4548553e-04 -1.6687943e-03 +2411 4.83 -6.4215656e-04 -1.6601895e-03 +2412 4.832 -6.3884475e-04 -1.6516290e-03 +2413 4.834 -6.3555001e-04 -1.6431126e-03 +2414 4.836 -6.3227227e-04 -1.6346401e-03 +2415 4.838 -6.2901142e-04 -1.6262113e-03 +2416 4.84 -6.2576739e-04 -1.6178260e-03 +2417 4.842 -6.2254009e-04 -1.6094839e-03 +2418 4.844 -6.1932943e-04 -1.6011847e-03 +2419 4.846 -6.1613532e-04 -1.5929284e-03 +2420 4.848 -6.1295769e-04 -1.5847146e-03 +2421 4.85 -6.0979644e-04 -1.5765431e-03 +2422 4.852 -6.0665149e-04 -1.5684138e-03 +2423 4.854 -6.0352275e-04 -1.5603264e-03 +2424 4.856 -6.0041015e-04 -1.5522806e-03 +2425 4.858 -5.9731360e-04 -1.5442763e-03 +2426 4.86 -5.9423302e-04 -1.5363133e-03 +2427 4.862 -5.9116832e-04 -1.5283914e-03 +2428 4.864 -5.8811943e-04 -1.5205102e-03 +2429 4.866 -5.8508625e-04 -1.5126697e-03 +2430 4.868 -5.8206872e-04 -1.5048696e-03 +2431 4.87 -5.7906675e-04 -1.4971097e-03 +2432 4.872 -5.7608026e-04 -1.4893899e-03 +2433 4.874 -5.7310916e-04 -1.4817098e-03 +2434 4.876 -5.7015339e-04 -1.4740693e-03 +2435 4.878 -5.6721286e-04 -1.4664681e-03 +2436 4.88 -5.6428749e-04 -1.4589062e-03 +2437 4.882 -5.6137721e-04 -1.4513833e-03 +2438 4.884 -5.5848193e-04 -1.4438991e-03 +2439 4.886 -5.5560159e-04 -1.4364535e-03 +2440 4.888 -5.5273609e-04 -1.4290463e-03 +2441 4.89 -5.4988538e-04 -1.4216772e-03 +2442 4.892 -5.4704936e-04 -1.4143462e-03 +2443 4.894 -5.4422797e-04 -1.4070529e-03 +2444 4.896 -5.4142112e-04 -1.3997973e-03 +2445 4.898 -5.3862875e-04 -1.3925790e-03 +2446 4.9 -5.3585078e-04 -1.3853980e-03 +2447 4.902 -5.3308714e-04 -1.3782540e-03 +2448 4.904 -5.3033774e-04 -1.3711468e-03 +2449 4.906 -5.2760252e-04 -1.3640762e-03 +2450 4.908 -5.2488141e-04 -1.3570421e-03 +2451 4.91 -5.2217433e-04 -1.3500442e-03 +2452 4.912 -5.1948121e-04 -1.3430825e-03 +2453 4.914 -5.1680198e-04 -1.3361566e-03 +2454 4.916 -5.1413656e-04 -1.3292664e-03 +2455 4.918 -5.1148489e-04 -1.3224117e-03 +2456 4.92 -5.0884689e-04 -1.3155924e-03 +2457 4.922 -5.0622250e-04 -1.3088082e-03 +2458 4.924 -5.0361163e-04 -1.3020590e-03 +2459 4.926 -5.0101424e-04 -1.2953446e-03 +2460 4.928 -4.9843023e-04 -1.2886648e-03 +2461 4.93 -4.9585955e-04 -1.2820195e-03 +2462 4.932 -4.9330213e-04 -1.2754084e-03 +2463 4.934 -4.9075790e-04 -1.2688314e-03 +2464 4.936 -4.8822678e-04 -1.2622883e-03 +2465 4.938 -4.8570872e-04 -1.2557789e-03 +2466 4.94 -4.8320365e-04 -1.2493031e-03 +2467 4.942 -4.8071149e-04 -1.2428606e-03 +2468 4.944 -4.7823218e-04 -1.2364514e-03 +2469 4.946 -4.7576566e-04 -1.2300752e-03 +2470 4.948 -4.7331186e-04 -1.2237319e-03 +2471 4.95 -4.7087071e-04 -1.2174213e-03 +2472 4.952 -4.6844215e-04 -1.2111432e-03 +2473 4.954 -4.6602612e-04 -1.2048975e-03 +2474 4.956 -4.6362254e-04 -1.1986840e-03 +2475 4.958 -4.6123136e-04 -1.1925025e-03 +2476 4.96 -4.5885251e-04 -1.1863529e-03 +2477 4.962 -4.5648593e-04 -1.1802350e-03 +2478 4.964 -4.5413155e-04 -1.1741487e-03 +2479 4.966 -4.5178931e-04 -1.1680937e-03 +2480 4.968 -4.4945915e-04 -1.1620699e-03 +2481 4.97 -4.4714101e-04 -1.1560772e-03 +2482 4.972 -4.4483482e-04 -1.1501154e-03 +2483 4.974 -4.4254053e-04 -1.1441843e-03 +2484 4.976 -4.4025806e-04 -1.1382838e-03 +2485 4.978 -4.3798737e-04 -1.1324137e-03 +2486 4.98 -4.3572839e-04 -1.1265739e-03 +2487 4.982 -4.3348106e-04 -1.1207642e-03 +2488 4.984 -4.3124531e-04 -1.1149845e-03 +2489 4.986 -4.2902110e-04 -1.1092345e-03 +2490 4.988 -4.2680835e-04 -1.1035142e-03 +2491 4.99 -4.2460702e-04 -1.0978234e-03 +2492 4.992 -4.2241704e-04 -1.0921619e-03 +2493 4.994 -4.2023836e-04 -1.0865296e-03 +2494 4.996 -4.1807090e-04 -1.0809263e-03 +2495 4.998 -4.1591463e-04 -1.0753520e-03 +2496 5.0 -4.1376948e-04 -1.0698064e-03 +2497 5.002 -4.1163539e-04 -1.0642893e-03 +2498 5.004 -4.0951230e-04 -1.0588007e-03 +2499 5.006 -4.0740016e-04 -1.0533405e-03 +2500 5.008 -4.0529892e-04 -1.0479083e-03 +2501 5.01 -4.0320851e-04 -1.0425042e-03 +2502 5.012 -4.0112888e-04 -1.0371279e-03 +2503 5.014 -3.9905998e-04 -1.0317794e-03 +2504 5.016 -3.9700175e-04 -1.0264584e-03 +2505 5.018 -3.9495413e-04 -1.0211649e-03 +2506 5.02 -3.9291707e-04 -1.0158986e-03 +2507 5.022 -3.9089052e-04 -1.0106595e-03 +2508 5.024 -3.8887442e-04 -1.0054474e-03 +2509 5.026 -3.8686871e-04 -1.0002622e-03 +2510 5.028 -3.8487335e-04 -9.9510375e-04 +2511 5.03 -3.8288828e-04 -9.8997188e-04 +2512 5.032 -3.8091344e-04 -9.8486646e-04 +2513 5.034 -3.7894879e-04 -9.7978736e-04 +2514 5.036 -3.7699428e-04 -9.7473446e-04 +2515 5.038 -3.7504984e-04 -9.6970760e-04 +2516 5.04 -3.7311543e-04 -9.6470667e-04 +2517 5.042 -3.7119099e-04 -9.5973152e-04 +2518 5.044 -3.6927649e-04 -9.5478202e-04 +2519 5.046 -3.6737185e-04 -9.4985804e-04 +2520 5.048 -3.6547704e-04 -9.4495945e-04 +2521 5.05 -3.6359200e-04 -9.4008612e-04 +2522 5.052 -3.6171668e-04 -9.3523791e-04 +2523 5.054 -3.5985103e-04 -9.3041470e-04 +2524 5.056 -3.5799500e-04 -9.2561636e-04 +2525 5.058 -3.5614854e-04 -9.2084276e-04 +2526 5.06 -3.5431161e-04 -9.1609378e-04 +2527 5.062 -3.5248415e-04 -9.1136928e-04 +2528 5.064 -3.5066612e-04 -9.0666914e-04 +2529 5.066 -3.4885746e-04 -9.0199323e-04 +2530 5.068 -3.4705813e-04 -8.9734144e-04 +2531 5.07 -3.4526808e-04 -8.9271363e-04 +2532 5.072 -3.4348726e-04 -8.8810968e-04 +2533 5.074 -3.4171562e-04 -8.8352947e-04 +2534 5.076 -3.3995313e-04 -8.7897288e-04 +2535 5.078 -3.3819972e-04 -8.7443978e-04 +2536 5.08 -3.3645535e-04 -8.6993006e-04 +2537 5.082 -3.3471998e-04 -8.6544359e-04 +2538 5.084 -3.3299356e-04 -8.6098025e-04 +2539 5.086 -3.3127605e-04 -8.5653993e-04 +2540 5.088 -3.2956739e-04 -8.5212250e-04 +2541 5.09 -3.2786754e-04 -8.4772785e-04 +2542 5.092 -3.2617646e-04 -8.4335586e-04 +2543 5.094 -3.2449410e-04 -8.3900641e-04 +2544 5.096 -3.2282042e-04 -8.3467939e-04 +2545 5.098 -3.2115537e-04 -8.3037468e-04 +2546 5.1 -3.1949891e-04 -8.2609217e-04 +2547 5.102 -3.1785099e-04 -8.2183174e-04 +2548 5.104 -3.1621156e-04 -8.1759328e-04 +2549 5.106 -3.1458060e-04 -8.1337667e-04 +2550 5.108 -3.1295804e-04 -8.0918181e-04 +2551 5.11 -3.1134386e-04 -8.0500857e-04 +2552 5.112 -3.0973799e-04 -8.0085686e-04 +2553 5.114 -3.0814041e-04 -7.9672655e-04 +2554 5.116 -3.0655107e-04 -7.9261754e-04 +2555 5.118 -3.0496993e-04 -7.8852972e-04 +2556 5.12 -3.0339694e-04 -7.8446297e-04 +2557 5.122 -3.0183206e-04 -7.8041720e-04 +2558 5.124 -3.0027526e-04 -7.7639229e-04 +2559 5.126 -2.9872648e-04 -7.7238813e-04 +2560 5.128 -2.9718569e-04 -7.6840462e-04 +2561 5.13 -2.9565285e-04 -7.6444165e-04 +2562 5.132 -2.9412791e-04 -7.6049912e-04 +2563 5.134 -2.9261084e-04 -7.5657691e-04 +2564 5.136 -2.9110159e-04 -7.5267493e-04 +2565 5.138 -2.8960013e-04 -7.4879307e-04 +2566 5.14 -2.8810641e-04 -7.4493123e-04 +2567 5.142 -2.8662039e-04 -7.4108930e-04 +2568 5.144 -2.8514203e-04 -7.3726718e-04 +2569 5.146 -2.8367131e-04 -7.3346477e-04 +2570 5.148 -2.8220816e-04 -7.2968197e-04 +2571 5.15 -2.8075257e-04 -7.2591868e-04 +2572 5.152 -2.7930447e-04 -7.2217479e-04 +2573 5.154 -2.7786385e-04 -7.1845020e-04 +2574 5.156 -2.7643066e-04 -7.1474483e-04 +2575 5.158 -2.7500486e-04 -7.1105856e-04 +2576 5.16 -2.7358641e-04 -7.0739129e-04 +2577 5.162 -2.7217528e-04 -7.0374294e-04 +2578 5.164 -2.7077143e-04 -7.0011340e-04 +2579 5.166 -2.6937482e-04 -6.9650258e-04 +2580 5.168 -2.6798541e-04 -6.9291038e-04 +2581 5.17 -2.6660316e-04 -6.8933670e-04 +2582 5.172 -2.6522805e-04 -6.8578145e-04 +2583 5.174 -2.6386003e-04 -6.8224454e-04 +2584 5.176 -2.6249906e-04 -6.7872586e-04 +2585 5.178 -2.6114511e-04 -6.7522532e-04 +2586 5.18 -2.5979814e-04 -6.7174284e-04 +2587 5.182 -2.5845813e-04 -6.6827832e-04 +2588 5.184 -2.5712502e-04 -6.6483166e-04 +2589 5.186 -2.5579879e-04 -6.6140277e-04 +2590 5.188 -2.5447940e-04 -6.5799157e-04 +2591 5.19 -2.5316681e-04 -6.5459796e-04 +2592 5.192 -2.5186099e-04 -6.5122185e-04 +2593 5.194 -2.5056191e-04 -6.4786314e-04 +2594 5.196 -2.4926953e-04 -6.4452176e-04 +2595 5.198 -2.4798381e-04 -6.4119761e-04 +2596 5.2 -2.4670473e-04 -6.3789060e-04 +2597 5.202 -2.4543224e-04 -6.3460064e-04 +2598 5.204 -2.4416631e-04 -6.3132765e-04 +2599 5.206 -2.4290692e-04 -6.2807154e-04 +2600 5.208 -2.4165402e-04 -6.2483222e-04 +2601 5.21 -2.4040758e-04 -6.2160960e-04 +2602 5.212 -2.3916757e-04 -6.1840360e-04 +2603 5.214 -2.3793395e-04 -6.1521414e-04 +2604 5.216 -2.3670670e-04 -6.1204112e-04 +2605 5.218 -2.3548578e-04 -6.0888446e-04 +2606 5.22 -2.3427115e-04 -6.0574409e-04 +2607 5.222 -2.3306279e-04 -6.0261990e-04 +2608 5.224 -2.3186066e-04 -5.9951183e-04 +2609 5.226 -2.3066473e-04 -5.9641979e-04 +2610 5.228 -2.2947497e-04 -5.9334369e-04 +2611 5.23 -2.2829135e-04 -5.9028346e-04 +2612 5.232 -2.2711383e-04 -5.8723900e-04 +2613 5.234 -2.2594238e-04 -5.8421025e-04 +2614 5.236 -2.2477697e-04 -5.8119711e-04 +2615 5.238 -2.2361758e-04 -5.7819952e-04 +2616 5.24 -2.2246417e-04 -5.7521738e-04 +2617 5.242 -2.2131670e-04 -5.7225062e-04 +2618 5.244 -2.2017515e-04 -5.6929916e-04 +2619 5.246 -2.1903949e-04 -5.6636292e-04 +2620 5.248 -2.1790969e-04 -5.6344183e-04 +2621 5.25 -2.1678572e-04 -5.6053579e-04 +2622 5.252 -2.1566754e-04 -5.5764475e-04 +2623 5.254 -2.1455513e-04 -5.5476861e-04 +2624 5.256 -2.1344845e-04 -5.5190730e-04 +2625 5.258 -2.1234749e-04 -5.4906075e-04 +2626 5.26 -2.1125220e-04 -5.4622888e-04 +2627 5.262 -2.1016256e-04 -5.4341162e-04 +2628 5.264 -2.0907854e-04 -5.4060888e-04 +2629 5.266 -2.0800012e-04 -5.3782060e-04 +2630 5.268 -2.0692725e-04 -5.3504669e-04 +2631 5.27 -2.0585992e-04 -5.3228709e-04 +2632 5.272 -2.0479810e-04 -5.2954172e-04 +2633 5.274 -2.0374175e-04 -5.2681051e-04 +2634 5.276 -2.0269084e-04 -5.2409339e-04 +2635 5.278 -2.0164536e-04 -5.2139028e-04 +2636 5.28 -2.0060527e-04 -5.1870110e-04 +2637 5.282 -1.9957055e-04 -5.1602580e-04 +2638 5.284 -1.9854116e-04 -5.1336429e-04 +2639 5.286 -1.9751708e-04 -5.1071651e-04 +2640 5.288 -1.9649829e-04 -5.0808238e-04 +2641 5.29 -1.9548474e-04 -5.0546184e-04 +2642 5.292 -1.9447643e-04 -5.0285481e-04 +2643 5.294 -1.9347332e-04 -5.0026123e-04 +2644 5.296 -1.9247538e-04 -4.9768102e-04 +2645 5.298 -1.9148258e-04 -4.9511412e-04 +2646 5.3 -1.9049491e-04 -4.9256046e-04 +2647 5.302 -1.8951233e-04 -4.9001996e-04 +2648 5.304 -1.8853482e-04 -4.8749257e-04 +2649 5.306 -1.8756235e-04 -4.8497821e-04 +2650 5.308 -1.8659490e-04 -4.8247682e-04 +2651 5.31 -1.8563244e-04 -4.7998833e-04 +2652 5.312 -1.8467494e-04 -4.7751267e-04 +2653 5.314 -1.8372238e-04 -4.7504978e-04 +2654 5.316 -1.8277473e-04 -4.7259959e-04 +2655 5.318 -1.8183197e-04 -4.7016204e-04 +2656 5.32 -1.8089407e-04 -4.6773706e-04 +2657 5.322 -1.7996101e-04 -4.6532458e-04 +2658 5.324 -1.7903277e-04 -4.6292455e-04 +2659 5.326 -1.7810931e-04 -4.6053689e-04 +2660 5.328 -1.7719061e-04 -4.5816155e-04 +2661 5.33 -1.7627665e-04 -4.5579846e-04 +2662 5.332 -1.7536741e-04 -4.5344755e-04 +2663 5.334 -1.7446286e-04 -4.5110877e-04 +2664 5.336 -1.7356297e-04 -4.4878205e-04 +2665 5.338 -1.7266772e-04 -4.4646733e-04 +2666 5.34 -1.7177709e-04 -4.4416455e-04 +2667 5.342 -1.7089105e-04 -4.4187364e-04 +2668 5.344 -1.7000959e-04 -4.3959455e-04 +2669 5.346 -1.6913267e-04 -4.3732721e-04 +2670 5.348 -1.6826027e-04 -4.3507157e-04 +2671 5.35 -1.6739237e-04 -4.3282755e-04 +2672 5.352 -1.6652895e-04 -4.3059512e-04 +2673 5.354 -1.6566998e-04 -4.2837419e-04 +2674 5.356 -1.6481545e-04 -4.2616472e-04 +2675 5.358 -1.6396532e-04 -4.2396664e-04 +2676 5.36 -1.6311957e-04 -4.2177990e-04 +2677 5.362 -1.6227819e-04 -4.1960444e-04 +2678 5.364 -1.6144115e-04 -4.1744019e-04 +2679 5.366 -1.6060842e-04 -4.1528711e-04 +2680 5.368 -1.5977999e-04 -4.1314514e-04 +2681 5.37 -1.5895584e-04 -4.1101420e-04 +2682 5.372 -1.5813593e-04 -4.0889426e-04 +2683 5.374 -1.5732025e-04 -4.0678526e-04 +2684 5.376 -1.5650878e-04 -4.0468713e-04 +2685 5.378 -1.5570150e-04 -4.0259982e-04 +2686 5.38 -1.5489837e-04 -4.0052327e-04 +2687 5.382 -1.5409939e-04 -3.9845744e-04 +2688 5.384 -1.5330454e-04 -3.9640225e-04 +2689 5.386 -1.5251378e-04 -3.9435767e-04 +2690 5.388 -1.5172710e-04 -3.9232364e-04 +2691 5.39 -1.5094448e-04 -3.9030009e-04 +2692 5.392 -1.5016589e-04 -3.8828698e-04 +2693 5.394 -1.4939132e-04 -3.8628425e-04 +2694 5.396 -1.4862075e-04 -3.8429185e-04 +2695 5.398 -1.4785415e-04 -3.8230973e-04 +2696 5.4 -1.4709150e-04 -3.8033783e-04 +2697 5.402 -1.4633279e-04 -3.7837609e-04 +2698 5.404 -1.4557799e-04 -3.7642448e-04 +2699 5.406 -1.4482709e-04 -3.7448293e-04 +2700 5.408 -1.4408005e-04 -3.7255140e-04 +2701 5.41 -1.4333687e-04 -3.7062982e-04 +2702 5.412 -1.4259753e-04 -3.6871816e-04 +2703 5.414 -1.4186199e-04 -3.6681636e-04 +2704 5.416 -1.4113025e-04 -3.6492436e-04 +2705 5.418 -1.4040229e-04 -3.6304212e-04 +2706 5.42 -1.3967808e-04 -3.6116959e-04 +2707 5.422 -1.3895761e-04 -3.5930672e-04 +2708 5.424 -1.3824085e-04 -3.5745346e-04 +2709 5.426 -1.3752779e-04 -3.5560975e-04 +2710 5.428 -1.3681840e-04 -3.5377555e-04 +2711 5.43 -1.3611268e-04 -3.5195081e-04 +2712 5.432 -1.3541059e-04 -3.5013549e-04 +2713 5.434 -1.3471213e-04 -3.4832952e-04 +2714 5.436 -1.3401727e-04 -3.4653287e-04 +2715 5.438 -1.3332599e-04 -3.4474549e-04 +2716 5.44 -1.3263828e-04 -3.4296732e-04 +2717 5.442 -1.3195412e-04 -3.4119833e-04 +2718 5.444 -1.3127348e-04 -3.3943846e-04 +2719 5.446 -1.3059636e-04 -3.3768766e-04 +2720 5.448 -1.2992272e-04 -3.3594590e-04 +2721 5.45 -1.2925257e-04 -3.3421312e-04 +2722 5.452 -1.2858586e-04 -3.3248927e-04 +2723 5.454 -1.2792260e-04 -3.3077432e-04 +2724 5.456 -1.2726276e-04 -3.2906821e-04 +2725 5.458 -1.2660632e-04 -3.2737090e-04 +2726 5.46 -1.2595327e-04 -3.2568234e-04 +2727 5.462 -1.2530359e-04 -3.2400250e-04 +2728 5.464 -1.2465726e-04 -3.2233131e-04 +2729 5.466 -1.2401426e-04 -3.2066875e-04 +2730 5.468 -1.2337458e-04 -3.1901476e-04 +2731 5.47 -1.2273819e-04 -3.1736930e-04 +2732 5.472 -1.2210509e-04 -3.1573233e-04 +2733 5.474 -1.2147526e-04 -3.1410380e-04 +2734 5.476 -1.2084867e-04 -3.1248367e-04 +2735 5.478 -1.2022532e-04 -3.1087190e-04 +2736 5.48 -1.1960518e-04 -3.0926843e-04 +2737 5.482 -1.1898824e-04 -3.0767324e-04 +2738 5.484 -1.1837448e-04 -3.0608628e-04 +2739 5.486 -1.1776389e-04 -3.0450750e-04 +2740 5.488 -1.1715645e-04 -3.0293686e-04 +2741 5.49 -1.1655214e-04 -3.0137433e-04 +2742 5.492 -1.1595094e-04 -2.9981985e-04 +2743 5.494 -1.1535285e-04 -2.9827339e-04 +2744 5.496 -1.1475784e-04 -2.9673491e-04 +2745 5.498 -1.1416591e-04 -2.9520436e-04 +2746 5.5 -1.1357702e-04 -2.9368170e-04 +2747 5.502 -1.1299117e-04 -2.9216690e-04 +2748 5.504 -1.1240835e-04 -2.9065991e-04 +2749 5.506 -1.1182853e-04 -2.8916070e-04 +2750 5.508 -1.1125170e-04 -2.8766921e-04 +2751 5.51 -1.1067785e-04 -2.8618542e-04 +2752 5.512 -1.1010695e-04 -2.8470928e-04 +2753 5.514 -1.0953900e-04 -2.8324076e-04 +2754 5.516 -1.0897399e-04 -2.8177981e-04 +2755 5.518 -1.0841188e-04 -2.8032639e-04 +2756 5.52 -1.0785267e-04 -2.7888047e-04 +2757 5.522 -1.0729635e-04 -2.7744201e-04 +2758 5.524 -1.0674290e-04 -2.7601097e-04 +2759 5.526 -1.0619230e-04 -2.7458731e-04 +2760 5.528 -1.0564455e-04 -2.7317099e-04 +2761 5.53 -1.0509962e-04 -2.7176197e-04 +2762 5.532 -1.0455749e-04 -2.7036023e-04 +2763 5.534 -1.0401817e-04 -2.6896571e-04 +2764 5.536 -1.0348163e-04 -2.6757838e-04 +2765 5.538 -1.0294785e-04 -2.6619821e-04 +2766 5.54 -1.0241683e-04 -2.6482516e-04 +2767 5.542 -1.0188855e-04 -2.6345919e-04 +2768 5.544 -1.0136299e-04 -2.6210027e-04 +2769 5.546 -1.0084014e-04 -2.6074835e-04 +2770 5.548 -1.0031999e-04 -2.5940341e-04 +2771 5.55 -9.9802522e-05 -2.5806541e-04 +2772 5.552 -9.9287724e-05 -2.5673430e-04 +2773 5.554 -9.8775581e-05 -2.5541006e-04 +2774 5.556 -9.8266079e-05 -2.5409265e-04 +2775 5.558 -9.7759206e-05 -2.5278204e-04 +2776 5.56 -9.7254946e-05 -2.5147818e-04 +2777 5.562 -9.6753288e-05 -2.5018105e-04 +2778 5.564 -9.6254218e-05 -2.4889061e-04 +2779 5.566 -9.5757721e-05 -2.4760683e-04 +2780 5.568 -9.5263786e-05 -2.4632967e-04 +2781 5.57 -9.4772398e-05 -2.4505909e-04 +2782 5.572 -9.4283545e-05 -2.4379507e-04 +2783 5.574 -9.3797214e-05 -2.4253757e-04 +2784 5.576 -9.3313391e-05 -2.4128655e-04 +2785 5.578 -9.2832063e-05 -2.4004199e-04 +2786 5.58 -9.2353218e-05 -2.3880384e-04 +2787 5.582 -9.1876844e-05 -2.3757209e-04 +2788 5.584 -9.1402926e-05 -2.3634668e-04 +2789 5.586 -9.0931453e-05 -2.3512759e-04 +2790 5.588 -9.0462411e-05 -2.3391480e-04 +2791 5.59 -8.9995789e-05 -2.3270825e-04 +2792 5.592 -8.9531574e-05 -2.3150794e-04 +2793 5.594 -8.9069753e-05 -2.3031381e-04 +2794 5.596 -8.8610315e-05 -2.2912584e-04 +2795 5.598 -8.8153246e-05 -2.2794400e-04 +2796 5.6 -8.7698535e-05 -2.2676825e-04 +2797 5.602 -8.7246169e-05 -2.2559857e-04 +2798 5.604 -8.6796136e-05 -2.2443492e-04 +2799 5.606 -8.6348425e-05 -2.2327727e-04 +2800 5.608 -8.5903023e-05 -2.2212559e-04 +2801 5.61 -8.5459919e-05 -2.2097986e-04 +2802 5.612 -8.5019100e-05 -2.1984003e-04 +2803 5.614 -8.4580555e-05 -2.1870608e-04 +2804 5.616 -8.4144272e-05 -2.1757798e-04 +2805 5.618 -8.3710239e-05 -2.1645570e-04 +2806 5.62 -8.3278445e-05 -2.1533921e-04 +2807 5.622 -8.2848878e-05 -2.1422848e-04 +2808 5.624 -8.2421527e-05 -2.1312347e-04 +2809 5.626 -8.1996381e-05 -2.1202417e-04 +2810 5.628 -8.1573427e-05 -2.1093053e-04 +2811 5.63 -8.1152655e-05 -2.0984254e-04 +2812 5.632 -8.0734053e-05 -2.0876016e-04 +2813 5.634 -8.0317610e-05 -2.0768336e-04 +2814 5.636 -7.9903316e-05 -2.0661211e-04 +2815 5.638 -7.9491158e-05 -2.0554639e-04 +2816 5.64 -7.9081127e-05 -2.0448617e-04 +2817 5.642 -7.8673210e-05 -2.0343141e-04 +2818 5.644 -7.8267397e-05 -2.0238210e-04 +2819 5.646 -7.7863678e-05 -2.0133819e-04 +2820 5.648 -7.7462041e-05 -2.0029967e-04 +2821 5.65 -7.7062476e-05 -1.9926651e-04 +2822 5.652 -7.6664971e-05 -1.9823868e-04 +2823 5.654 -7.6269517e-05 -1.9721615e-04 +2824 5.656 -7.5876103e-05 -1.9619889e-04 +2825 5.658 -7.5484718e-05 -1.9518688e-04 +2826 5.66 -7.5095352e-05 -1.9418009e-04 +2827 5.662 -7.4707995e-05 -1.9317849e-04 +2828 5.664 -7.4322635e-05 -1.9218205e-04 +2829 5.666 -7.3939263e-05 -1.9119076e-04 +2830 5.668 -7.3557868e-05 -1.9020458e-04 +2831 5.67 -7.3178441e-05 -1.8922349e-04 +2832 5.672 -7.2800971e-05 -1.8824746e-04 +2833 5.674 -7.2425448e-05 -1.8727646e-04 +2834 5.676 -7.2051862e-05 -1.8631047e-04 +2835 5.678 -7.1680203e-05 -1.8534946e-04 +2836 5.68 -7.1310461e-05 -1.8439341e-04 +2837 5.682 -7.0942626e-05 -1.8344229e-04 +2838 5.684 -7.0576688e-05 -1.8249607e-04 +2839 5.686 -7.0212638e-05 -1.8155474e-04 +2840 5.688 -6.9850466e-05 -1.8061826e-04 +2841 5.69 -6.9490162e-05 -1.7968661e-04 +2842 5.692 -6.9131717e-05 -1.7875977e-04 +2843 5.694 -6.8775120e-05 -1.7783771e-04 +2844 5.696 -6.8420363e-05 -1.7692040e-04 +2845 5.698 -6.8067435e-05 -1.7600783e-04 +2846 5.7 -6.7716328e-05 -1.7509996e-04 +2847 5.702 -6.7367032e-05 -1.7419677e-04 +2848 5.704 -6.7019538e-05 -1.7329825e-04 +2849 5.706 -6.6673836e-05 -1.7240435e-04 +2850 5.708 -6.6329917e-05 -1.7151507e-04 +2851 5.71 -6.5987773e-05 -1.7063038e-04 +2852 5.712 -6.5647393e-05 -1.6975025e-04 +2853 5.714 -6.5308769e-05 -1.6887465e-04 +2854 5.716 -6.4971891e-05 -1.6800358e-04 +2855 5.718 -6.4636751e-05 -1.6713699e-04 +2856 5.72 -6.4303340e-05 -1.6627488e-04 +2857 5.722 -6.3971649e-05 -1.6541722e-04 +2858 5.724 -6.3641669e-05 -1.6456397e-04 +2859 5.726 -6.3313390e-05 -1.6371513e-04 +2860 5.728 -6.2986805e-05 -1.6287067e-04 +2861 5.73 -6.2661905e-05 -1.6203056e-04 +2862 5.732 -6.2338680e-05 -1.6119478e-04 +2863 5.734 -6.2017123e-05 -1.6036332e-04 +2864 5.736 -6.1697224e-05 -1.5953615e-04 +2865 5.738 -6.1378975e-05 -1.5871324e-04 +2866 5.74 -6.1062368e-05 -1.5789457e-04 +2867 5.742 -6.0747394e-05 -1.5708013e-04 +2868 5.744 -6.0434045e-05 -1.5626989e-04 +2869 5.746 -6.0122312e-05 -1.5546383e-04 +2870 5.748 -5.9812187e-05 -1.5466193e-04 +2871 5.75 -5.9503661e-05 -1.5386416e-04 +2872 5.752 -5.9196727e-05 -1.5307051e-04 +2873 5.754 -5.8891376e-05 -1.5228095e-04 +2874 5.756 -5.8587601e-05 -1.5149546e-04 +2875 5.758 -5.8285392e-05 -1.5071403e-04 +2876 5.76 -5.7984742e-05 -1.4993662e-04 +2877 5.762 -5.7685643e-05 -1.4916323e-04 +2878 5.764 -5.7388086e-05 -1.4839382e-04 +2879 5.766 -5.7092065e-05 -1.4762838e-04 +2880 5.768 -5.6797570e-05 -1.4686690e-04 +2881 5.77 -5.6504595e-05 -1.4610933e-04 +2882 5.772 -5.6213130e-05 -1.4535568e-04 +2883 5.774 -5.5923169e-05 -1.4460591e-04 +2884 5.776 -5.5634704e-05 -1.4386002e-04 +2885 5.778 -5.5347727e-05 -1.4311796e-04 +2886 5.78 -5.5062230e-05 -1.4237974e-04 +2887 5.782 -5.4778205e-05 -1.4164532e-04 +2888 5.784 -5.4495646e-05 -1.4091469e-04 +2889 5.786 -5.4214544e-05 -1.4018783e-04 +2890 5.788 -5.3934892e-05 -1.3946472e-04 +2891 5.79 -5.3656682e-05 -1.3874534e-04 +2892 5.792 -5.3379908e-05 -1.3802967e-04 +2893 5.794 -5.3104561e-05 -1.3731769e-04 +2894 5.796 -5.2830635e-05 -1.3660939e-04 +2895 5.798 -5.2558121e-05 -1.3590473e-04 +2896 5.8 -5.2287014e-05 -1.3520372e-04 +2897 5.802 -5.2017304e-05 -1.3450631e-04 +2898 5.804 -5.1748986e-05 -1.3381251e-04 +2899 5.806 -5.1482052e-05 -1.3312228e-04 +2900 5.808 -5.1216494e-05 -1.3243561e-04 +2901 5.81 -5.0952307e-05 -1.3175249e-04 +2902 5.812 -5.0689482e-05 -1.3107289e-04 +2903 5.814 -5.0428013e-05 -1.3039679e-04 +2904 5.816 -5.0167893e-05 -1.2972418e-04 +2905 5.818 -4.9909114e-05 -1.2905504e-04 +2906 5.82 -4.9651670e-05 -1.2838936e-04 +2907 5.822 -4.9395554e-05 -1.2772710e-04 +2908 5.824 -4.9140759e-05 -1.2706826e-04 +2909 5.826 -4.8887279e-05 -1.2641282e-04 +2910 5.828 -4.8635106e-05 -1.2576077e-04 +2911 5.83 -4.8384234e-05 -1.2511207e-04 +2912 5.832 -4.8134655e-05 -1.2446672e-04 +2913 5.834 -4.7886364e-05 -1.2382470e-04 +2914 5.836 -4.7639354e-05 -1.2318599e-04 +2915 5.838 -4.7393618e-05 -1.2255057e-04 +2916 5.84 -4.7149150e-05 -1.2191844e-04 +2917 5.842 -4.6905942e-05 -1.2128956e-04 +2918 5.844 -4.6663989e-05 -1.2066393e-04 +2919 5.846 -4.6423285e-05 -1.2004152e-04 +2920 5.848 -4.6183821e-05 -1.1942232e-04 +2921 5.85 -4.5945593e-05 -1.1880632e-04 +2922 5.852 -4.5708594e-05 -1.1819350e-04 +2923 5.854 -4.5472817e-05 -1.1758383e-04 +2924 5.856 -4.5238256e-05 -1.1697731e-04 +2925 5.858 -4.5004906e-05 -1.1637392e-04 +2926 5.86 -4.4772759e-05 -1.1577365e-04 +2927 5.862 -4.4541809e-05 -1.1517646e-04 +2928 5.864 -4.4312051e-05 -1.1458236e-04 +2929 5.866 -4.4083478e-05 -1.1399133e-04 +2930 5.868 -4.3856083e-05 -1.1340334e-04 +2931 5.87 -4.3629862e-05 -1.1281838e-04 +2932 5.872 -4.3404808e-05 -1.1223644e-04 +2933 5.874 -4.3180914e-05 -1.1165751e-04 +2934 5.876 -4.2958176e-05 -1.1108155e-04 +2935 5.878 -4.2736586e-05 -1.1050857e-04 +2936 5.88 -4.2516140e-05 -1.0993855e-04 +2937 5.882 -4.2296830e-05 -1.0937147e-04 +2938 5.884 -4.2078652e-05 -1.0880731e-04 +2939 5.886 -4.1861599e-05 -1.0824606e-04 +2940 5.888 -4.1645666e-05 -1.0768770e-04 +2941 5.89 -4.1430846e-05 -1.0713223e-04 +2942 5.892 -4.1217135e-05 -1.0657962e-04 +2943 5.894 -4.1004526e-05 -1.0602986e-04 +2944 5.896 -4.0793013e-05 -1.0548294e-04 +2945 5.898 -4.0582592e-05 -1.0493884e-04 +2946 5.9 -4.0373256e-05 -1.0439754e-04 +2947 5.902 -4.0165000e-05 -1.0385904e-04 +2948 5.904 -3.9957818e-05 -1.0332331e-04 +2949 5.906 -3.9751705e-05 -1.0279035e-04 +2950 5.908 -3.9546655e-05 -1.0226014e-04 +2951 5.91 -3.9342663e-05 -1.0173266e-04 +2952 5.912 -3.9139723e-05 -1.0120790e-04 +2953 5.914 -3.8937829e-05 -1.0068585e-04 +2954 5.916 -3.8736977e-05 -1.0016649e-04 +2955 5.918 -3.8537161e-05 -9.9649811e-05 +2956 5.92 -3.8338376e-05 -9.9135797e-05 +2957 5.922 -3.8140617e-05 -9.8624434e-05 +2958 5.924 -3.7943877e-05 -9.8115709e-05 +2959 5.926 -3.7748152e-05 -9.7609608e-05 +2960 5.928 -3.7553437e-05 -9.7106117e-05 +2961 5.93 -3.7359726e-05 -9.6605224e-05 +2962 5.932 -3.7167014e-05 -9.6106914e-05 +2963 5.934 -3.6975296e-05 -9.5611174e-05 +2964 5.936 -3.6784568e-05 -9.5117991e-05 +2965 5.938 -3.6594823e-05 -9.4627353e-05 +2966 5.94 -3.6406057e-05 -9.4139245e-05 +2967 5.942 -3.6218264e-05 -9.3653655e-05 +2968 5.944 -3.6031440e-05 -9.3170569e-05 +2969 5.946 -3.5845580e-05 -9.2689975e-05 +2970 5.948 -3.5660679e-05 -9.2211861e-05 +2971 5.95 -3.5476731e-05 -9.1736212e-05 +2972 5.952 -3.5293732e-05 -9.1263017e-05 +2973 5.954 -3.5111677e-05 -9.0792263e-05 +2974 5.956 -3.4930562e-05 -9.0323936e-05 +2975 5.958 -3.4750380e-05 -8.9858026e-05 +2976 5.96 -3.4571128e-05 -8.9394519e-05 +2977 5.962 -3.4392800e-05 -8.8933402e-05 +2978 5.964 -3.4215393e-05 -8.8474664e-05 +2979 5.966 -3.4038900e-05 -8.8018293e-05 +2980 5.968 -3.3863318e-05 -8.7564275e-05 +2981 5.97 -3.3688641e-05 -8.7112599e-05 +2982 5.972 -3.3514866e-05 -8.6663253e-05 +2983 5.974 -3.3341987e-05 -8.6216225e-05 +2984 5.976 -3.3170000e-05 -8.5771502e-05 +2985 5.978 -3.2998899e-05 -8.5329074e-05 +2986 5.98 -3.2828682e-05 -8.4888927e-05 +2987 5.982 -3.2659342e-05 -8.4451051e-05 +2988 5.984 -3.2490876e-05 -8.4015434e-05 +2989 5.986 -3.2323279e-05 -8.3582063e-05 +2990 5.988 -3.2156546e-05 -8.3150928e-05 +2991 5.99 -3.1990674e-05 -8.2722017e-05 +2992 5.992 -3.1825657e-05 -8.2295318e-05 +2993 5.994 -3.1661491e-05 -8.1870820e-05 +2994 5.996 -3.1498172e-05 -8.1448512e-05 +2995 5.998 -3.1335695e-05 -8.1028382e-05 +2996 6.0 -3.1174057e-05 -8.0610419e-05 +2997 6.002 -3.1013252e-05 -8.0194612e-05 +2998 6.004 -3.0853277e-05 -7.9780949e-05 +2999 6.006 -3.0694127e-05 -7.9369421e-05 +3000 6.008 -3.0535798e-05 -7.8960015e-05 +3001 6.01 -3.0378286e-05 -7.8552721e-05 +3002 6.012 -3.0221586e-05 -7.8147528e-05 +3003 6.014 -3.0065694e-05 -7.7744425e-05 +3004 6.016 -2.9910607e-05 -7.7343401e-05 +3005 6.018 -2.9756319e-05 -7.6944446e-05 +3006 6.02 -2.9602828e-05 -7.6547548e-05 +3007 6.022 -2.9450128e-05 -7.6152698e-05 +3008 6.024 -2.9298215e-05 -7.5759885e-05 +3009 6.026 -2.9147087e-05 -7.5369097e-05 +3010 6.028 -2.8996738e-05 -7.4980326e-05 +3011 6.03 -2.8847164e-05 -7.4593559e-05 +3012 6.032 -2.8698362e-05 -7.4208788e-05 +3013 6.034 -2.8550328e-05 -7.3826002e-05 +3014 6.036 -2.8403057e-05 -7.3445190e-05 +3015 6.038 -2.8256546e-05 -7.3066342e-05 +3016 6.04 -2.8110790e-05 -7.2689448e-05 +3017 6.042 -2.7965786e-05 -7.2314499e-05 +3018 6.044 -2.7821531e-05 -7.1941483e-05 +3019 6.046 -2.7678019e-05 -7.1570392e-05 +3020 6.048 -2.7535248e-05 -7.1201214e-05 +3021 6.05 -2.7393213e-05 -7.0833941e-05 +3022 6.052 -2.7251911e-05 -7.0468563e-05 +3023 6.054 -2.7111338e-05 -7.0105069e-05 +3024 6.056 -2.6971489e-05 -6.9743450e-05 +3025 6.058 -2.6832363e-05 -6.9383696e-05 +3026 6.06 -2.6693953e-05 -6.9025798e-05 +3027 6.062 -2.6556258e-05 -6.8669746e-05 +3028 6.064 -2.6419273e-05 -6.8315531e-05 +3029 6.066 -2.6282995e-05 -6.7963143e-05 +3030 6.068 -2.6147419e-05 -6.7612572e-05 +3031 6.07 -2.6012543e-05 -6.7263810e-05 +3032 6.072 -2.5878363e-05 -6.6916847e-05 +3033 6.074 -2.5744875e-05 -6.6571673e-05 +3034 6.076 -2.5612075e-05 -6.6228280e-05 +3035 6.078 -2.5479960e-05 -6.5886658e-05 +3036 6.08 -2.5348527e-05 -6.5546798e-05 +3037 6.082 -2.5217772e-05 -6.5208692e-05 +3038 6.084 -2.5087691e-05 -6.4872329e-05 +3039 6.086 -2.4958282e-05 -6.4537701e-05 +3040 6.088 -2.4829539e-05 -6.4204800e-05 +3041 6.09 -2.4701461e-05 -6.3873616e-05 +3042 6.092 -2.4574044e-05 -6.3544139e-05 +3043 6.094 -2.4447284e-05 -6.3216363e-05 +3044 6.096 -2.4321177e-05 -6.2890277e-05 +3045 6.098 -2.4195721e-05 -6.2565873e-05 +3046 6.1 -2.4070913e-05 -6.2243143e-05 +3047 6.102 -2.3946748e-05 -6.1922077e-05 +3048 6.104 -2.3823223e-05 -6.1602667e-05 +3049 6.106 -2.3700336e-05 -6.1284905e-05 +3050 6.108 -2.3578082e-05 -6.0968782e-05 +3051 6.11 -2.3456460e-05 -6.0654289e-05 +3052 6.112 -2.3335464e-05 -6.0341419e-05 +3053 6.114 -2.3215093e-05 -6.0030163e-05 +3054 6.116 -2.3095342e-05 -5.9720512e-05 +3055 6.118 -2.2976210e-05 -5.9412458e-05 +3056 6.12 -2.2857692e-05 -5.9105993e-05 +3057 6.122 -2.2739785e-05 -5.8801109e-05 +3058 6.124 -2.2622486e-05 -5.8497798e-05 +3059 6.126 -2.2505793e-05 -5.8196052e-05 +3060 6.128 -2.2389701e-05 -5.7895861e-05 +3061 6.13 -2.2274208e-05 -5.7597220e-05 +3062 6.132 -2.2159311e-05 -5.7300118e-05 +3063 6.134 -2.2045007e-05 -5.7004549e-05 +3064 6.136 -2.1931292e-05 -5.6710505e-05 +3065 6.138 -2.1818164e-05 -5.6417978e-05 +3066 6.14 -2.1705619e-05 -5.6126959e-05 +3067 6.142 -2.1593655e-05 -5.5837442e-05 +3068 6.144 -2.1482268e-05 -5.5549417e-05 +3069 6.146 -2.1371456e-05 -5.5262879e-05 +3070 6.148 -2.1261216e-05 -5.4977819e-05 +3071 6.15 -2.1151544e-05 -5.4694229e-05 +3072 6.152 -2.1042438e-05 -5.4412102e-05 +3073 6.154 -2.0933894e-05 -5.4131430e-05 +3074 6.156 -2.0825911e-05 -5.3852205e-05 +3075 6.158 -2.0718485e-05 -5.3574422e-05 +3076 6.16 -2.0611612e-05 -5.3298071e-05 +3077 6.162 -2.0505291e-05 -5.3023145e-05 +3078 6.164 -2.0399519e-05 -5.2749638e-05 +3079 6.166 -2.0294292e-05 -5.2477541e-05 +3080 6.168 -2.0189608e-05 -5.2206848e-05 +3081 6.17 -2.0085464e-05 -5.1937551e-05 +3082 6.172 -1.9981857e-05 -5.1669644e-05 +3083 6.174 -1.9878784e-05 -5.1403118e-05 +3084 6.176 -1.9776243e-05 -5.1137967e-05 +3085 6.178 -1.9674231e-05 -5.0874184e-05 +3086 6.18 -1.9572746e-05 -5.0611761e-05 +3087 6.182 -1.9471783e-05 -5.0350692e-05 +3088 6.184 -1.9371342e-05 -5.0090970e-05 +3089 6.186 -1.9271419e-05 -4.9832587e-05 +3090 6.188 -1.9172011e-05 -4.9575537e-05 +3091 6.19 -1.9073116e-05 -4.9319813e-05 +3092 6.192 -1.8974731e-05 -4.9065408e-05 +3093 6.194 -1.8876853e-05 -4.8812316e-05 +3094 6.196 -1.8779480e-05 -4.8560529e-05 +3095 6.198 -1.8682610e-05 -4.8310040e-05 +3096 6.2 -1.8586239e-05 -4.8060844e-05 +3097 6.202 -1.8490366e-05 -4.7812933e-05 +3098 6.204 -1.8394987e-05 -4.7566301e-05 +3099 6.206 -1.8300100e-05 -4.7320941e-05 +3100 6.208 -1.8205702e-05 -4.7076847e-05 +3101 6.21 -1.8111792e-05 -4.6834012e-05 +3102 6.212 -1.8018365e-05 -4.6592429e-05 +3103 6.214 -1.7925421e-05 -4.6352093e-05 +3104 6.216 -1.7832956e-05 -4.6112996e-05 +3105 6.218 -1.7740968e-05 -4.5875133e-05 +3106 6.22 -1.7649455e-05 -4.5638496e-05 +3107 6.222 -1.7558413e-05 -4.5403080e-05 +3108 6.224 -1.7467842e-05 -4.5168879e-05 +3109 6.226 -1.7377737e-05 -4.4935885e-05 +3110 6.228 -1.7288097e-05 -4.4704094e-05 +3111 6.23 -1.7198920e-05 -4.4473498e-05 +3112 6.232 -1.7110202e-05 -4.4244091e-05 +3113 6.234 -1.7021943e-05 -4.4015868e-05 +3114 6.236 -1.6934138e-05 -4.3788822e-05 +3115 6.238 -1.6846787e-05 -4.3562947e-05 +3116 6.24 -1.6759886e-05 -4.3338237e-05 +3117 6.242 -1.6673433e-05 -4.3114687e-05 +3118 6.244 -1.6587426e-05 -4.2892289e-05 +3119 6.246 -1.6501863e-05 -4.2671039e-05 +3120 6.248 -1.6416741e-05 -4.2450930e-05 +3121 6.25 -1.6332059e-05 -4.2231956e-05 +3122 6.252 -1.6247813e-05 -4.2014112e-05 +3123 6.254 -1.6164001e-05 -4.1797391e-05 +3124 6.256 -1.6080622e-05 -4.1581789e-05 +3125 6.258 -1.5997673e-05 -4.1367298e-05 +3126 6.26 -1.5915152e-05 -4.1153914e-05 +3127 6.262 -1.5833057e-05 -4.0941631e-05 +3128 6.264 -1.5751385e-05 -4.0730442e-05 +3129 6.266 -1.5670135e-05 -4.0520343e-05 +3130 6.268 -1.5589303e-05 -4.0311328e-05 +3131 6.27 -1.5508889e-05 -4.0103391e-05 +3132 6.272 -1.5428889e-05 -3.9896526e-05 +3133 6.274 -1.5349302e-05 -3.9690729e-05 +3134 6.276 -1.5270125e-05 -3.9485993e-05 +3135 6.278 -1.5191357e-05 -3.9282313e-05 +3136 6.28 -1.5112995e-05 -3.9079684e-05 +3137 6.282 -1.5035038e-05 -3.8878099e-05 +3138 6.284 -1.4957482e-05 -3.8677555e-05 +3139 6.286 -1.4880327e-05 -3.8478045e-05 +3140 6.288 -1.4803569e-05 -3.8279565e-05 +3141 6.29 -1.4727208e-05 -3.8082108e-05 +3142 6.292 -1.4651240e-05 -3.7885670e-05 +3143 6.294 -1.4575664e-05 -3.7690245e-05 +3144 6.296 -1.4500479e-05 -3.7495828e-05 +3145 6.298 -1.4425680e-05 -3.7302413e-05 +3146 6.3 -1.4351268e-05 -3.7109997e-05 +3147 6.302 -1.4277240e-05 -3.6918573e-05 +3148 6.304 -1.4203593e-05 -3.6728136e-05 +3149 6.306 -1.4130327e-05 -3.6538682e-05 +3150 6.308 -1.4057438e-05 -3.6350205e-05 +3151 6.31 -1.3984925e-05 -3.6162700e-05 +3152 6.312 -1.3912786e-05 -3.5976163e-05 +3153 6.314 -1.3841020e-05 -3.5790588e-05 +3154 6.316 -1.3769623e-05 -3.5605969e-05 +3155 6.318 -1.3698595e-05 -3.5422304e-05 +3156 6.32 -1.3627934e-05 -3.5239585e-05 +3157 6.322 -1.3557636e-05 -3.5057809e-05 +3158 6.324 -1.3487702e-05 -3.4876971e-05 +3159 6.326 -1.3418128e-05 -3.4697065e-05 +3160 6.328 -1.3348913e-05 -3.4518088e-05 +3161 6.33 -1.3280055e-05 -3.4340034e-05 +3162 6.332 -1.3211552e-05 -3.4162898e-05 +3163 6.334 -1.3143403e-05 -3.3986676e-05 +3164 6.336 -1.3075605e-05 -3.3811363e-05 +3165 6.338 -1.3008157e-05 -3.3636954e-05 +3166 6.34 -1.2941056e-05 -3.3463445e-05 +3167 6.342 -1.2874302e-05 -3.3290831e-05 +3168 6.344 -1.2807892e-05 -3.3119107e-05 +3169 6.346 -1.2741825e-05 -3.2948269e-05 +3170 6.348 -1.2676099e-05 -3.2778312e-05 +3171 6.35 -1.2610711e-05 -3.2609232e-05 +3172 6.352 -1.2545661e-05 -3.2441024e-05 +3173 6.354 -1.2480947e-05 -3.2273684e-05 +3174 6.356 -1.2416566e-05 -3.2107207e-05 +3175 6.358 -1.2352517e-05 -3.1941588e-05 +3176 6.36 -1.2288799e-05 -3.1776824e-05 +3177 6.362 -1.2225409e-05 -3.1612910e-05 +3178 6.364 -1.2162347e-05 -3.1449841e-05 +3179 6.366 -1.2099610e-05 -3.1287614e-05 +3180 6.368 -1.2037196e-05 -3.1126223e-05 +3181 6.37 -1.1975104e-05 -3.0965665e-05 +3182 6.372 -1.1913333e-05 -3.0805935e-05 +3183 6.374 -1.1851880e-05 -3.0647029e-05 +3184 6.376 -1.1790744e-05 -3.0488943e-05 +3185 6.378 -1.1729923e-05 -3.0331672e-05 +3186 6.38 -1.1669417e-05 -3.0175212e-05 +3187 6.382 -1.1609222e-05 -3.0019559e-05 +3188 6.384 -1.1549338e-05 -2.9864710e-05 +3189 6.386 -1.1489763e-05 -2.9710659e-05 +3190 6.388 -1.1430495e-05 -2.9557402e-05 +3191 6.39 -1.1371533e-05 -2.9404936e-05 +3192 6.392 -1.1312875e-05 -2.9253257e-05 +3193 6.394 -1.1254519e-05 -2.9102360e-05 +3194 6.396 -1.1196465e-05 -2.8952241e-05 +3195 6.398 -1.1138710e-05 -2.8802897e-05 +3196 6.4 -1.1081252e-05 -2.8654323e-05 +3197 6.402 -1.1024092e-05 -2.8506516e-05 +3198 6.404 -1.0967226e-05 -2.8359471e-05 +3199 6.406 -1.0910653e-05 -2.8213184e-05 +3200 6.408 -1.0854373e-05 -2.8067652e-05 +3201 6.41 -1.0798382e-05 -2.7922871e-05 +3202 6.412 -1.0742681e-05 -2.7778836e-05 +3203 6.414 -1.0687266e-05 -2.7635545e-05 +3204 6.416 -1.0632138e-05 -2.7492992e-05 +3205 6.418 -1.0577294e-05 -2.7351175e-05 +3206 6.42 -1.0522733e-05 -2.7210090e-05 +3207 6.422 -1.0468453e-05 -2.7069732e-05 +3208 6.424 -1.0414453e-05 -2.6930098e-05 +3209 6.426 -1.0360732e-05 -2.6791185e-05 +3210 6.428 -1.0307288e-05 -2.6652988e-05 +3211 6.43 -1.0254120e-05 -2.6515504e-05 +3212 6.432 -1.0201226e-05 -2.6378729e-05 +3213 6.434 -1.0148604e-05 -2.6242659e-05 +3214 6.436 -1.0096255e-05 -2.6107292e-05 +3215 6.438 -1.0044175e-05 -2.5972623e-05 +3216 6.44 -9.9923636e-06 -2.5838648e-05 +3217 6.442 -9.9408197e-06 -2.5705364e-05 +3218 6.444 -9.8895417e-06 -2.5572768e-05 +3219 6.446 -9.8385282e-06 -2.5440856e-05 +3220 6.448 -9.7877778e-06 -2.5309625e-05 +3221 6.45 -9.7372892e-06 -2.5179070e-05 +3222 6.452 -9.6870611e-06 -2.5049189e-05 +3223 6.454 -9.6370920e-06 -2.4919978e-05 +3224 6.456 -9.5873807e-06 -2.4791433e-05 +3225 6.458 -9.5379259e-06 -2.4663551e-05 +3226 6.46 -9.4887261e-06 -2.4536329e-05 +3227 6.462 -9.4397801e-06 -2.4409763e-05 +3228 6.464 -9.3910866e-06 -2.4283850e-05 +3229 6.466 -9.3426443e-06 -2.4158587e-05 +3230 6.468 -9.2944518e-06 -2.4033969e-05 +3231 6.47 -9.2465080e-06 -2.3909995e-05 +3232 6.472 -9.1988114e-06 -2.3786660e-05 +3233 6.474 -9.1513609e-06 -2.3663961e-05 +3234 6.476 -9.1041552e-06 -2.3541895e-05 +3235 6.478 -9.0571929e-06 -2.3420459e-05 +3236 6.48 -9.0104729e-06 -2.3299649e-05 +3237 6.482 -8.9639939e-06 -2.3179462e-05 +3238 6.484 -8.9177547e-06 -2.3059896e-05 +3239 6.486 -8.8717539e-06 -2.2940946e-05 +3240 6.488 -8.8259905e-06 -2.2822609e-05 +3241 6.49 -8.7804631e-06 -2.2704883e-05 +3242 6.492 -8.7351705e-06 -2.2587764e-05 +3243 6.494 -8.6901116e-06 -2.2471250e-05 +3244 6.496 -8.6452851e-06 -2.2355336e-05 +3245 6.498 -8.6006899e-06 -2.2240021e-05 +3246 6.5 -8.5563246e-06 -2.2125300e-05 +3247 6.502 -8.5121883e-06 -2.2011171e-05 +3248 6.504 -8.4682796e-06 -2.1897630e-05 +3249 6.506 -8.4245974e-06 -2.1784676e-05 +3250 6.508 -8.3811405e-06 -2.1672304e-05 +3251 6.51 -8.3379078e-06 -2.1560511e-05 +3252 6.512 -8.2948980e-06 -2.1449295e-05 +3253 6.514 -8.2521102e-06 -2.1338653e-05 +3254 6.516 -8.2095431e-06 -2.1228582e-05 +3255 6.518 -8.1671955e-06 -2.1119078e-05 +3256 6.52 -8.1250664e-06 -2.1010140e-05 +3257 6.522 -8.0831546e-06 -2.0901763e-05 +3258 6.524 -8.0414589e-06 -2.0793945e-05 +3259 6.526 -7.9999784e-06 -2.0686684e-05 +3260 6.528 -7.9587118e-06 -2.0579975e-05 +3261 6.53 -7.9176581e-06 -2.0473817e-05 +3262 6.532 -7.8768162e-06 -2.0368207e-05 +3263 6.534 -7.8361849e-06 -2.0263142e-05 +3264 6.536 -7.7957633e-06 -2.0158618e-05 +3265 6.538 -7.7555501e-06 -2.0054634e-05 +3266 6.54 -7.7155444e-06 -1.9951186e-05 +3267 6.542 -7.6757450e-06 -1.9848271e-05 +3268 6.544 -7.6361509e-06 -1.9745888e-05 +3269 6.546 -7.5967611e-06 -1.9644032e-05 +3270 6.548 -7.5575745e-06 -1.9542702e-05 +3271 6.55 -7.5185900e-06 -1.9441895e-05 +3272 6.552 -7.4798065e-06 -1.9341608e-05 +3273 6.554 -7.4412232e-06 -1.9241838e-05 +3274 6.556 -7.4028388e-06 -1.9142582e-05 +3275 6.558 -7.3646525e-06 -1.9043839e-05 +3276 6.56 -7.3266631e-06 -1.8945605e-05 +3277 6.562 -7.2888698e-06 -1.8847877e-05 +3278 6.564 -7.2512713e-06 -1.8750654e-05 +3279 6.566 -7.2138668e-06 -1.8653932e-05 +3280 6.568 -7.1766552e-06 -1.8557710e-05 +3281 6.57 -7.1396356e-06 -1.8461983e-05 +3282 6.572 -7.1028070e-06 -1.8366751e-05 +3283 6.574 -7.0661683e-06 -1.8272009e-05 +3284 6.576 -7.0297186e-06 -1.8177756e-05 +3285 6.578 -6.9934570e-06 -1.8083990e-05 +3286 6.58 -6.9573823e-06 -1.7990707e-05 +3287 6.582 -6.9214938e-06 -1.7897905e-05 +3288 6.584 -6.8857904e-06 -1.7805582e-05 +3289 6.586 -6.8502712e-06 -1.7713735e-05 +3290 6.588 -6.8149351e-06 -1.7622362e-05 +3291 6.59 -6.7797814e-06 -1.7531461e-05 +3292 6.592 -6.7448090e-06 -1.7441028e-05 +3293 6.594 -6.7100170e-06 -1.7351062e-05 +3294 6.596 -6.6754044e-06 -1.7261559e-05 +3295 6.598 -6.6409704e-06 -1.7172519e-05 +3296 6.6 -6.6067140e-06 -1.7083938e-05 +3297 6.602 -6.5726344e-06 -1.6995813e-05 +3298 6.604 -6.5387305e-06 -1.6908144e-05 +3299 6.606 -6.5050015e-06 -1.6820926e-05 +3300 6.608 -6.4714465e-06 -1.6734158e-05 +3301 6.61 -6.4380646e-06 -1.6647838e-05 +3302 6.612 -6.4048548e-06 -1.6561964e-05 +3303 6.614 -6.3718164e-06 -1.6476532e-05 +3304 6.616 -6.3389484e-06 -1.6391541e-05 +3305 6.618 -6.3062500e-06 -1.6306988e-05 +3306 6.62 -6.2737202e-06 -1.6222871e-05 +3307 6.622 -6.2413582e-06 -1.6139188e-05 +3308 6.624 -6.2091631e-06 -1.6055937e-05 +3309 6.626 -6.1771341e-06 -1.5973116e-05 +3310 6.628 -6.1452704e-06 -1.5890721e-05 +3311 6.63 -6.1135710e-06 -1.5808752e-05 +3312 6.632 -6.0820351e-06 -1.5727206e-05 +3313 6.634 -6.0506619e-06 -1.5646080e-05 +3314 6.636 -6.0194505e-06 -1.5565372e-05 +3315 6.638 -5.9884001e-06 -1.5485081e-05 +3316 6.64 -5.9575099e-06 -1.5405204e-05 +3317 6.642 -5.9267790e-06 -1.5325739e-05 +3318 6.644 -5.8962067e-06 -1.5246684e-05 +3319 6.646 -5.8657920e-06 -1.5168037e-05 +3320 6.648 -5.8355342e-06 -1.5089795e-05 +3321 6.65 -5.8054326e-06 -1.5011957e-05 +3322 6.652 -5.7754862e-06 -1.4934521e-05 +3323 6.654 -5.7456942e-06 -1.4857484e-05 +3324 6.656 -5.7160559e-06 -1.4780844e-05 +3325 6.658 -5.6865706e-06 -1.4704600e-05 +3326 6.66 -5.6572373e-06 -1.4628749e-05 +3327 6.662 -5.6280553e-06 -1.4553289e-05 +3328 6.664 -5.5990239e-06 -1.4478219e-05 +3329 6.666 -5.5701422e-06 -1.4403535e-05 +3330 6.668 -5.5414095e-06 -1.4329237e-05 +3331 6.67 -5.5128250e-06 -1.4255323e-05 +3332 6.672 -5.4843879e-06 -1.4181789e-05 +3333 6.674 -5.4560976e-06 -1.4108635e-05 +3334 6.676 -5.4279531e-06 -1.4035858e-05 +3335 6.678 -5.3999539e-06 -1.3963457e-05 +3336 6.68 -5.3720991e-06 -1.3891429e-05 +3337 6.682 -5.3443879e-06 -1.3819772e-05 +3338 6.684 -5.3168197e-06 -1.3748485e-05 +3339 6.686 -5.2893937e-06 -1.3677566e-05 +3340 6.688 -5.2621092e-06 -1.3607013e-05 +3341 6.69 -5.2349654e-06 -1.3536824e-05 +3342 6.692 -5.2079617e-06 -1.3466996e-05 +3343 6.694 -5.1810972e-06 -1.3397529e-05 +3344 6.696 -5.1543713e-06 -1.3328421e-05 +3345 6.698 -5.1277833e-06 -1.3259668e-05 +3346 6.7 -5.1013324e-06 -1.3191271e-05 +3347 6.702 -5.0750180e-06 -1.3123226e-05 +3348 6.704 -5.0488393e-06 -1.3055532e-05 +3349 6.706 -5.0227956e-06 -1.2988187e-05 +3350 6.708 -4.9968863e-06 -1.2921190e-05 +3351 6.71 -4.9711106e-06 -1.2854538e-05 +3352 6.712 -4.9454679e-06 -1.2788231e-05 +3353 6.714 -4.9199575e-06 -1.2722265e-05 +3354 6.716 -4.8945786e-06 -1.2656639e-05 +3355 6.718 -4.8693307e-06 -1.2591352e-05 +3356 6.72 -4.8442130e-06 -1.2526402e-05 +3357 6.722 -4.8192249e-06 -1.2461787e-05 +3358 6.724 -4.7943656e-06 -1.2397505e-05 +3359 6.726 -4.7696346e-06 -1.2333554e-05 +3360 6.728 -4.7450312e-06 -1.2269934e-05 +3361 6.73 -4.7205547e-06 -1.2206642e-05 +3362 6.732 -4.6962044e-06 -1.2143676e-05 +3363 6.734 -4.6719797e-06 -1.2081035e-05 +3364 6.736 -4.6478801e-06 -1.2018717e-05 +3365 6.738 -4.6239047e-06 -1.1956721e-05 +3366 6.74 -4.6000530e-06 -1.1895044e-05 +3367 6.742 -4.5763243e-06 -1.1833685e-05 +3368 6.744 -4.5527180e-06 -1.1772643e-05 +3369 6.746 -4.5292335e-06 -1.1711916e-05 +3370 6.748 -4.5058701e-06 -1.1651502e-05 +3371 6.75 -4.4826273e-06 -1.1591400e-05 +3372 6.752 -4.4595043e-06 -1.1531608e-05 +3373 6.754 -4.4365006e-06 -1.1472124e-05 +3374 6.756 -4.4136156e-06 -1.1412947e-05 +3375 6.758 -4.3908486e-06 -1.1354076e-05 +3376 6.76 -4.3681991e-06 -1.1295508e-05 +3377 6.762 -4.3456664e-06 -1.1237242e-05 +3378 6.764 -4.3232499e-06 -1.1179276e-05 +3379 6.766 -4.3009491e-06 -1.1121610e-05 +3380 6.768 -4.2787633e-06 -1.1064241e-05 +3381 6.77 -4.2566919e-06 -1.1007168e-05 +3382 6.772 -4.2347344e-06 -1.0950390e-05 +3383 6.774 -4.2128902e-06 -1.0893904e-05 +3384 6.776 -4.1911586e-06 -1.0837710e-05 +3385 6.778 -4.1695392e-06 -1.0781805e-05 +3386 6.78 -4.1480312e-06 -1.0726189e-05 +3387 6.782 -4.1266342e-06 -1.0670860e-05 +3388 6.784 -4.1053476e-06 -1.0615816e-05 +3389 6.786 -4.0841708e-06 -1.0561056e-05 +3390 6.788 -4.0631032e-06 -1.0506579e-05 +3391 6.79 -4.0421443e-06 -1.0452383e-05 +3392 6.792 -4.0212935e-06 -1.0398466e-05 +3393 6.794 -4.0005502e-06 -1.0344827e-05 +3394 6.796 -3.9799140e-06 -1.0291465e-05 +3395 6.798 -3.9593842e-06 -1.0238378e-05 +3396 6.8 -3.9389603e-06 -1.0185565e-05 +3397 6.802 -3.9186417e-06 -1.0133025e-05 +3398 6.804 -3.8984280e-06 -1.0080755e-05 +3399 6.806 -3.8783185e-06 -1.0028756e-05 +3400 6.808 -3.8583128e-06 -9.9770240e-06 +3401 6.81 -3.8384102e-06 -9.9255592e-06 +3402 6.812 -3.8186104e-06 -9.8743599e-06 +3403 6.814 -3.7989126e-06 -9.8234247e-06 +3404 6.816 -3.7793165e-06 -9.7727523e-06 +3405 6.818 -3.7598214e-06 -9.7223412e-06 +3406 6.82 -3.7404270e-06 -9.6721902e-06 +3407 6.822 -3.7211325e-06 -9.6222979e-06 +3408 6.824 -3.7019376e-06 -9.5726629e-06 +3409 6.826 -3.6828417e-06 -9.5232839e-06 +3410 6.828 -3.6638443e-06 -9.4741597e-06 +3411 6.83 -3.6449449e-06 -9.4252889e-06 +3412 6.832 -3.6261430e-06 -9.3766701e-06 +3413 6.834 -3.6074380e-06 -9.3283022e-06 +3414 6.836 -3.5888296e-06 -9.2801837e-06 +3415 6.838 -3.5703171e-06 -9.2323135e-06 +3416 6.84 -3.5519002e-06 -9.1846902e-06 +3417 6.842 -3.5335782e-06 -9.1373125e-06 +3418 6.844 -3.5153508e-06 -9.0901792e-06 +3419 6.846 -3.4972173e-06 -9.0432891e-06 +3420 6.848 -3.4791774e-06 -8.9966408e-06 +3421 6.85 -3.4612306e-06 -8.9502332e-06 +3422 6.852 -3.4433764e-06 -8.9040649e-06 +3423 6.854 -3.4256142e-06 -8.8581348e-06 +3424 6.856 -3.4079437e-06 -8.8124416e-06 +3425 6.858 -3.3903643e-06 -8.7669841e-06 +3426 6.86 -3.3728756e-06 -8.7217611e-06 +3427 6.862 -3.3554771e-06 -8.6767714e-06 +3428 6.864 -3.3381683e-06 -8.6320137e-06 +3429 6.866 -3.3209489e-06 -8.5874869e-06 +3430 6.868 -3.3038182e-06 -8.5431898e-06 +3431 6.87 -3.2867759e-06 -8.4991212e-06 +3432 6.872 -3.2698216e-06 -8.4552799e-06 +3433 6.874 -3.2529547e-06 -8.4116648e-06 +3434 6.876 -3.2361748e-06 -8.3682746e-06 +3435 6.878 -3.2194814e-06 -8.3251083e-06 +3436 6.88 -3.2028742e-06 -8.2821646e-06 +3437 6.882 -3.1863526e-06 -8.2394425e-06 +3438 6.884 -3.1699163e-06 -8.1969407e-06 +3439 6.886 -3.1535647e-06 -8.1546582e-06 +3440 6.888 -3.1372975e-06 -8.1125937e-06 +3441 6.89 -3.1211142e-06 -8.0707463e-06 +3442 6.892 -3.1050144e-06 -8.0291147e-06 +3443 6.894 -3.0889976e-06 -7.9876978e-06 +3444 6.896 -3.0730634e-06 -7.9464946e-06 +3445 6.898 -3.0572115e-06 -7.9055040e-06 +3446 6.9 -3.0414413e-06 -7.8647247e-06 +3447 6.902 -3.0257524e-06 -7.8241559e-06 +3448 6.904 -3.0101445e-06 -7.7837963e-06 +3449 6.906 -2.9946171e-06 -7.7436448e-06 +3450 6.908 -2.9791698e-06 -7.7037005e-06 +3451 6.91 -2.9638022e-06 -7.6639623e-06 +3452 6.912 -2.9485138e-06 -7.6244290e-06 +3453 6.914 -2.9333043e-06 -7.5850997e-06 +3454 6.916 -2.9181733e-06 -7.5459732e-06 +3455 6.918 -2.9031203e-06 -7.5070485e-06 +3456 6.92 -2.8881450e-06 -7.4683247e-06 +3457 6.922 -2.8732469e-06 -7.4298006e-06 +3458 6.924 -2.8584256e-06 -7.3914752e-06 +3459 6.926 -2.8436808e-06 -7.3533475e-06 +3460 6.928 -2.8290121e-06 -7.3154164e-06 +3461 6.93 -2.8144190e-06 -7.2776811e-06 +3462 6.932 -2.7999012e-06 -7.2401404e-06 +3463 6.934 -2.7854583e-06 -7.2027933e-06 +3464 6.936 -2.7710899e-06 -7.1656389e-06 +3465 6.938 -2.7567957e-06 -7.1286761e-06 +3466 6.94 -2.7425751e-06 -7.0919040e-06 +3467 6.942 -2.7284279e-06 -7.0553216e-06 +3468 6.944 -2.7143537e-06 -7.0189279e-06 +3469 6.946 -2.7003521e-06 -6.9827219e-06 +3470 6.948 -2.6864227e-06 -6.9467027e-06 +3471 6.95 -2.6725651e-06 -6.9108692e-06 +3472 6.952 -2.6587791e-06 -6.8752207e-06 +3473 6.954 -2.6450641e-06 -6.8397560e-06 +3474 6.956 -2.6314199e-06 -6.8044742e-06 +3475 6.958 -2.6178461e-06 -6.7693744e-06 +3476 6.96 -2.6043423e-06 -6.7344557e-06 +3477 6.962 -2.5909082e-06 -6.6997171e-06 +3478 6.964 -2.5775433e-06 -6.6651577e-06 +3479 6.966 -2.5642474e-06 -6.6307766e-06 +3480 6.968 -2.5510201e-06 -6.5965728e-06 +3481 6.97 -2.5378610e-06 -6.5625455e-06 +3482 6.972 -2.5247698e-06 -6.5286937e-06 +3483 6.974 -2.5117461e-06 -6.4950165e-06 +3484 6.976 -2.4987896e-06 -6.4615130e-06 +3485 6.978 -2.4859000e-06 -6.4281823e-06 +3486 6.98 -2.4730768e-06 -6.3950236e-06 +3487 6.982 -2.4603198e-06 -6.3620359e-06 +3488 6.984 -2.4476285e-06 -6.3292184e-06 +3489 6.986 -2.4350028e-06 -6.2965701e-06 +3490 6.988 -2.4224421e-06 -6.2640903e-06 +3491 6.99 -2.4099463e-06 -6.2317780e-06 +3492 6.992 -2.3975149e-06 -6.1996324e-06 +3493 6.994 -2.3851477e-06 -6.1676526e-06 +3494 6.996 -2.3728442e-06 -6.1358378e-06 +3495 6.998 -2.3606042e-06 -6.1041870e-06 +3496 7.0 -2.3484273e-06 -6.0726996e-06 +3497 7.002 -2.3363133e-06 -6.0413745e-06 +3498 7.004 -2.3242617e-06 -6.0102111e-06 +3499 7.006 -2.3122723e-06 -5.9792084e-06 +3500 7.008 -2.3003448e-06 -5.9483656e-06 +3501 7.01 -2.2884788e-06 -5.9176819e-06 +3502 7.012 -2.2766740e-06 -5.8871565e-06 +3503 7.014 -2.2649300e-06 -5.8567886e-06 +3504 7.016 -2.2532467e-06 -5.8265773e-06 +3505 7.018 -2.2416236e-06 -5.7965218e-06 +3506 7.02 -2.2300605e-06 -5.7666214e-06 +3507 7.022 -2.2185570e-06 -5.7368752e-06 +3508 7.024 -2.2071129e-06 -5.7072824e-06 +3509 7.026 -2.1957278e-06 -5.6778423e-06 +3510 7.028 -2.1844014e-06 -5.6485541e-06 +3511 7.03 -2.1731335e-06 -5.6194169e-06 +3512 7.032 -2.1619237e-06 -5.5904301e-06 +3513 7.034 -2.1507717e-06 -5.5615927e-06 +3514 7.036 -2.1396772e-06 -5.5329041e-06 +3515 7.038 -2.1286399e-06 -5.5043635e-06 +3516 7.04 -2.1176596e-06 -5.4759702e-06 +3517 7.042 -2.1067360e-06 -5.4477232e-06 +3518 7.044 -2.0958687e-06 -5.4196220e-06 +3519 7.046 -2.0850574e-06 -5.3916658e-06 +3520 7.048 -2.0743019e-06 -5.3638537e-06 +3521 7.05 -2.0636019e-06 -5.3361851e-06 +3522 7.052 -2.0529571e-06 -5.3086593e-06 +3523 7.054 -2.0423671e-06 -5.2812754e-06 +3524 7.056 -2.0318319e-06 -5.2540328e-06 +3525 7.058 -2.0213509e-06 -5.2269307e-06 +3526 7.06 -2.0109240e-06 -5.1999684e-06 +3527 7.062 -2.0005510e-06 -5.1731452e-06 +3528 7.064 -1.9902314e-06 -5.1464603e-06 +3529 7.066 -1.9799650e-06 -5.1199131e-06 +3530 7.068 -1.9697516e-06 -5.0935029e-06 +3531 7.07 -1.9595909e-06 -5.0672288e-06 +3532 7.072 -1.9494826e-06 -5.0410903e-06 +3533 7.074 -1.9394265e-06 -5.0150867e-06 +3534 7.076 -1.9294222e-06 -4.9892171e-06 +3535 7.078 -1.9194695e-06 -4.9634811e-06 +3536 7.08 -1.9095682e-06 -4.9378777e-06 +3537 7.082 -1.8997179e-06 -4.9124065e-06 +3538 7.084 -1.8899185e-06 -4.8870666e-06 +3539 7.086 -1.8801696e-06 -4.8618574e-06 +3540 7.088 -1.8704709e-06 -4.8367783e-06 +3541 7.09 -1.8608224e-06 -4.8118285e-06 +3542 7.092 -1.8512235e-06 -4.7870075e-06 +3543 7.094 -1.8416742e-06 -4.7623144e-06 +3544 7.096 -1.8321742e-06 -4.7377488e-06 +3545 7.098 -1.8227232e-06 -4.7133099e-06 +3546 7.1 -1.8133209e-06 -4.6889970e-06 +3547 7.102 -1.8039671e-06 -4.6648095e-06 +3548 7.104 -1.7946616e-06 -4.6407468e-06 +3549 7.106 -1.7854040e-06 -4.6168083e-06 +3550 7.108 -1.7761942e-06 -4.5929932e-06 +3551 7.11 -1.7670320e-06 -4.5693010e-06 +3552 7.112 -1.7579170e-06 -4.5457309e-06 +3553 7.114 -1.7488490e-06 -4.5222825e-06 +3554 7.116 -1.7398277e-06 -4.4989550e-06 +3555 7.118 -1.7308531e-06 -4.4757478e-06 +3556 7.12 -1.7219247e-06 -4.4526604e-06 +3557 7.122 -1.7130423e-06 -4.4296920e-06 +3558 7.124 -1.7042058e-06 -4.4068422e-06 +3559 7.126 -1.6954149e-06 -4.3841101e-06 +3560 7.128 -1.6866693e-06 -4.3614954e-06 +3561 7.13 -1.6779688e-06 -4.3389973e-06 +3562 7.132 -1.6693132e-06 -4.3166153e-06 +3563 7.134 -1.6607023e-06 -4.2943487e-06 +3564 7.136 -1.6521358e-06 -4.2721969e-06 +3565 7.138 -1.6436134e-06 -4.2501595e-06 +3566 7.14 -1.6351351e-06 -4.2282357e-06 +3567 7.142 -1.6267004e-06 -4.2064250e-06 +3568 7.144 -1.6183093e-06 -4.1847268e-06 +3569 7.146 -1.6099614e-06 -4.1631405e-06 +3570 7.148 -1.6016566e-06 -4.1416656e-06 +3571 7.15 -1.5933947e-06 -4.1203014e-06 +3572 7.152 -1.5851754e-06 -4.0990475e-06 +3573 7.154 -1.5769984e-06 -4.0779032e-06 +3574 7.156 -1.5688637e-06 -4.0568680e-06 +3575 7.158 -1.5607709e-06 -4.0359412e-06 +3576 7.16 -1.5527198e-06 -4.0151225e-06 +3577 7.162 -1.5447103e-06 -3.9944111e-06 +3578 7.164 -1.5367421e-06 -3.9738065e-06 +3579 7.166 -1.5288150e-06 -3.9533082e-06 +3580 7.168 -1.5209288e-06 -3.9329157e-06 +3581 7.17 -1.5130833e-06 -3.9126284e-06 +3582 7.172 -1.5052782e-06 -3.8924457e-06 +3583 7.174 -1.4975134e-06 -3.8723671e-06 +3584 7.176 -1.4897887e-06 -3.8523921e-06 +3585 7.178 -1.4821038e-06 -3.8325201e-06 +3586 7.18 -1.4744586e-06 -3.8127506e-06 +3587 7.182 -1.4668527e-06 -3.7930831e-06 +3588 7.184 -1.4592862e-06 -3.7735171e-06 +3589 7.186 -1.4517586e-06 -3.7540520e-06 +3590 7.188 -1.4442699e-06 -3.7346873e-06 +3591 7.19 -1.4368198e-06 -3.7154224e-06 +3592 7.192 -1.4294081e-06 -3.6962570e-06 +3593 7.194 -1.4220347e-06 -3.6771904e-06 +3594 7.196 -1.4146993e-06 -3.6582222e-06 +3595 7.198 -1.4074017e-06 -3.6393518e-06 +3596 7.2 -1.4001418e-06 -3.6205788e-06 +3597 7.202 -1.3929194e-06 -3.6019026e-06 +3598 7.204 -1.3857341e-06 -3.5833227e-06 +3599 7.206 -1.3785860e-06 -3.5648387e-06 +3600 7.208 -1.3714747e-06 -3.5464500e-06 +3601 7.21 -1.3644001e-06 -3.5281562e-06 +3602 7.212 -1.3573620e-06 -3.5099567e-06 +3603 7.214 -1.3503603e-06 -3.4918511e-06 +3604 7.216 -1.3433946e-06 -3.4738389e-06 +3605 7.218 -1.3364648e-06 -3.4559197e-06 +3606 7.22 -1.3295708e-06 -3.4380928e-06 +3607 7.222 -1.3227124e-06 -3.4203579e-06 +3608 7.224 -1.3158893e-06 -3.4027145e-06 +3609 7.226 -1.3091015e-06 -3.3851621e-06 +3610 7.228 -1.3023486e-06 -3.3677003e-06 +3611 7.23 -1.2956306e-06 -3.3503285e-06 +3612 7.232 -1.2889473e-06 -3.3330463e-06 +3613 7.234 -1.2822984e-06 -3.3158533e-06 +3614 7.236 -1.2756838e-06 -3.2987490e-06 +3615 7.238 -1.2691033e-06 -3.2817329e-06 +3616 7.24 -1.2625568e-06 -3.2648046e-06 +3617 7.242 -1.2560440e-06 -3.2479635e-06 +3618 7.244 -1.2495649e-06 -3.2312094e-06 +3619 7.246 -1.2431192e-06 -3.2145417e-06 +3620 7.248 -1.2367067e-06 -3.1979600e-06 +3621 7.25 -1.2303273e-06 -3.1814638e-06 +3622 7.252 -1.2239808e-06 -3.1650527e-06 +3623 7.254 -1.2176670e-06 -3.1487262e-06 +3624 7.256 -1.2113858e-06 -3.1324840e-06 +3625 7.258 -1.2051370e-06 -3.1163255e-06 +3626 7.26 -1.1989204e-06 -3.1002504e-06 +3627 7.262 -1.1927359e-06 -3.0842582e-06 +3628 7.264 -1.1865833e-06 -3.0683485e-06 +3629 7.266 -1.1804625e-06 -3.0525209e-06 +3630 7.268 -1.1743732e-06 -3.0367749e-06 +3631 7.27 -1.1683153e-06 -3.0211102e-06 +3632 7.272 -1.1622887e-06 -3.0055262e-06 +3633 7.274 -1.1562932e-06 -2.9900227e-06 +3634 7.276 -1.1503286e-06 -2.9745991e-06 +3635 7.278 -1.1443947e-06 -2.9592551e-06 +3636 7.28 -1.1384915e-06 -2.9439902e-06 +3637 7.282 -1.1326187e-06 -2.9288040e-06 +3638 7.284 -1.1267762e-06 -2.9136962e-06 +3639 7.286 -1.1209639e-06 -2.8986664e-06 +3640 7.288 -1.1151815e-06 -2.8837140e-06 +3641 7.29 -1.1094290e-06 -2.8688388e-06 +3642 7.292 -1.1037061e-06 -2.8540403e-06 +3643 7.294 -1.0980128e-06 -2.8393182e-06 +3644 7.296 -1.0923488e-06 -2.8246720e-06 +3645 7.298 -1.0867140e-06 -2.8101013e-06 +3646 7.3 -1.0811083e-06 -2.7956058e-06 +3647 7.302 -1.0755315e-06 -2.7811851e-06 +3648 7.304 -1.0699835e-06 -2.7668387e-06 +3649 7.306 -1.0644641e-06 -2.7525664e-06 +3650 7.308 -1.0589732e-06 -2.7383677e-06 +3651 7.31 -1.0535106e-06 -2.7242422e-06 +3652 7.312 -1.0480762e-06 -2.7101896e-06 +3653 7.314 -1.0426698e-06 -2.6962095e-06 +3654 7.316 -1.0372913e-06 -2.6823015e-06 +3655 7.318 -1.0319406e-06 -2.6684652e-06 +3656 7.32 -1.0266174e-06 -2.6547003e-06 +3657 7.322 -1.0213217e-06 -2.6410065e-06 +3658 7.324 -1.0160533e-06 -2.6273832e-06 +3659 7.326 -1.0108121e-06 -2.6138302e-06 +3660 7.328 -1.0055980e-06 -2.6003472e-06 +3661 7.33 -1.0004107e-06 -2.5869337e-06 +3662 7.332 -9.9525019e-07 -2.5735893e-06 +3663 7.334 -9.9011629e-07 -2.5603138e-06 +3664 7.336 -9.8500889e-07 -2.5471068e-06 +3665 7.338 -9.7992782e-07 -2.5339679e-06 +3666 7.34 -9.7487297e-07 -2.5208968e-06 +3667 7.342 -9.6984419e-07 -2.5078932e-06 +3668 7.344 -9.6484135e-07 -2.4949566e-06 +3669 7.346 -9.5986432e-07 -2.4820867e-06 +3670 7.348 -9.5491296e-07 -2.4692832e-06 +3671 7.35 -9.4998714e-07 -2.4565457e-06 +3672 7.352 -9.4508673e-07 -2.4438740e-06 +3673 7.354 -9.4021160e-07 -2.4312676e-06 +3674 7.356 -9.3536162e-07 -2.4187263e-06 +3675 7.358 -9.3053665e-07 -2.4062496e-06 +3676 7.36 -9.2573658e-07 -2.3938373e-06 +3677 7.362 -9.2096126e-07 -2.3814891e-06 +3678 7.364 -9.1621058e-07 -2.3692045e-06 +3679 7.366 -9.1148440e-07 -2.3569833e-06 +3680 7.368 -9.0678260e-07 -2.3448251e-06 +3681 7.37 -9.0210506e-07 -2.3327297e-06 +3682 7.372 -8.9745164e-07 -2.3206966e-06 +3683 7.374 -8.9282223e-07 -2.3087257e-06 +3684 7.376 -8.8821670e-07 -2.2968164e-06 +3685 7.378 -8.8363493e-07 -2.2849686e-06 +3686 7.38 -8.7907678e-07 -2.2731819e-06 +3687 7.382 -8.7454216e-07 -2.2614560e-06 +3688 7.384 -8.7003092e-07 -2.2497906e-06 +3689 7.386 -8.6554295e-07 -2.2381854e-06 +3690 7.388 -8.6107814e-07 -2.2266401e-06 +3691 7.39 -8.5663635e-07 -2.2151542e-06 +3692 7.392 -8.5221748e-07 -2.2037277e-06 +3693 7.394 -8.4782140e-07 -2.1923601e-06 +3694 7.396 -8.4344800e-07 -2.1810511e-06 +3695 7.398 -8.3909716e-07 -2.1698004e-06 +3696 7.4 -8.3476876e-07 -2.1586078e-06 +3697 7.402 -8.3046269e-07 -2.1474730e-06 +3698 7.404 -8.2617883e-07 -2.1363955e-06 +3699 7.406 -8.2191707e-07 -2.1253752e-06 +3700 7.408 -8.1767729e-07 -2.1144118e-06 +3701 7.41 -8.1345939e-07 -2.1035049e-06 +3702 7.412 -8.0926324e-07 -2.0926542e-06 +3703 7.414 -8.0508873e-07 -2.0818596e-06 +3704 7.416 -8.0093576e-07 -2.0711206e-06 +3705 7.418 -7.9680421e-07 -2.0604370e-06 +3706 7.42 -7.9269398e-07 -2.0498085e-06 +3707 7.422 -7.8860494e-07 -2.0392349e-06 +3708 7.424 -7.8453700e-07 -2.0287158e-06 +3709 7.426 -7.8049004e-07 -2.0182509e-06 +3710 7.428 -7.7646396e-07 -2.0078401e-06 +3711 7.43 -7.7245865e-07 -1.9974829e-06 +3712 7.432 -7.6847399e-07 -1.9871792e-06 +3713 7.434 -7.6450989e-07 -1.9769286e-06 +3714 7.436 -7.6056624e-07 -1.9667309e-06 +3715 7.438 -7.5664294e-07 -1.9565857e-06 +3716 7.44 -7.5273987e-07 -1.9464930e-06 +3717 7.442 -7.4885693e-07 -1.9364523e-06 +3718 7.444 -7.4499402e-07 -1.9264633e-06 +3719 7.446 -7.4115104e-07 -1.9165259e-06 +3720 7.448 -7.3732788e-07 -1.9066398e-06 +3721 7.45 -7.3352445e-07 -1.8968047e-06 +3722 7.452 -7.2974063e-07 -1.8870203e-06 +3723 7.454 -7.2597633e-07 -1.8772863e-06 +3724 7.456 -7.2223145e-07 -1.8676026e-06 +3725 7.458 -7.1850589e-07 -1.8579688e-06 +3726 7.46 -7.1479955e-07 -1.8483848e-06 +3727 7.462 -7.1111232e-07 -1.8388501e-06 +3728 7.464 -7.0744411e-07 -1.8293647e-06 +3729 7.466 -7.0379483e-07 -1.8199281e-06 +3730 7.468 -7.0016437e-07 -1.8105403e-06 +3731 7.47 -6.9655263e-07 -1.8012009e-06 +3732 7.472 -6.9295953e-07 -1.7919096e-06 +3733 7.474 -6.8938496e-07 -1.7826663e-06 +3734 7.476 -6.8582883e-07 -1.7734706e-06 +3735 7.478 -6.8229105e-07 -1.7643224e-06 +3736 7.48 -6.7877151e-07 -1.7552214e-06 +3737 7.482 -6.7527013e-07 -1.7461673e-06 +3738 7.484 -6.7178681e-07 -1.7371600e-06 +3739 7.486 -6.6832146e-07 -1.7281991e-06 +3740 7.488 -6.6487399e-07 -1.7192844e-06 +3741 7.49 -6.6144429e-07 -1.7104157e-06 +3742 7.492 -6.5803229e-07 -1.7015927e-06 +3743 7.494 -6.5463789e-07 -1.6928153e-06 +3744 7.496 -6.5126100e-07 -1.6840832e-06 +3745 7.498 -6.4790153e-07 -1.6753960e-06 +3746 7.5 -6.4455939e-07 -1.6667537e-06 +3747 7.502 -6.4123448e-07 -1.6581560e-06 +3748 7.504 -6.3792673e-07 -1.6496026e-06 +3749 7.506 -6.3463604e-07 -1.6410934e-06 +3750 7.508 -6.3136233e-07 -1.6326280e-06 +3751 7.51 -6.2810550e-07 -1.6242063e-06 +3752 7.512 -6.2486548e-07 -1.6158281e-06 +3753 7.514 -6.2164216e-07 -1.6074930e-06 +3754 7.516 -6.1843548e-07 -1.5992010e-06 +3755 7.518 -6.1524533e-07 -1.5909517e-06 +3756 7.52 -6.1207164e-07 -1.5827450e-06 +3757 7.522 -6.0891432e-07 -1.5745806e-06 +3758 7.524 -6.0577329e-07 -1.5664584e-06 +3759 7.526 -6.0264846e-07 -1.5583780e-06 +3760 7.528 -5.9953975e-07 -1.5503393e-06 +3761 7.53 -5.9644707e-07 -1.5423421e-06 +3762 7.532 -5.9337035e-07 -1.5343861e-06 +3763 7.534 -5.9030950e-07 -1.5264712e-06 +3764 7.536 -5.8726444e-07 -1.5185971e-06 +3765 7.538 -5.8423509e-07 -1.5107636e-06 +3766 7.54 -5.8122136e-07 -1.5029706e-06 +3767 7.542 -5.7822318e-07 -1.4952177e-06 +3768 7.544 -5.7524046e-07 -1.4875048e-06 +3769 7.546 -5.7227313e-07 -1.4798317e-06 +3770 7.548 -5.6932111e-07 -1.4721982e-06 +3771 7.55 -5.6638431e-07 -1.4646040e-06 +3772 7.552 -5.6346267e-07 -1.4570491e-06 +3773 7.554 -5.6055609e-07 -1.4495331e-06 +3774 7.556 -5.5766451e-07 -1.4420559e-06 +3775 7.558 -5.5478784e-07 -1.4346172e-06 +3776 7.56 -5.5192601e-07 -1.4272169e-06 +3777 7.562 -5.4907895e-07 -1.4198548e-06 +3778 7.564 -5.4624657e-07 -1.4125307e-06 +3779 7.566 -5.4342880e-07 -1.4052443e-06 +3780 7.568 -5.4062557e-07 -1.3979955e-06 +3781 7.57 -5.3783679e-07 -1.3907842e-06 +3782 7.572 -5.3506241e-07 -1.3836100e-06 +3783 7.574 -5.3230233e-07 -1.3764728e-06 +3784 7.576 -5.2955649e-07 -1.3693725e-06 +3785 7.578 -5.2682482e-07 -1.3623087e-06 +3786 7.58 -5.2410723e-07 -1.3552814e-06 +3787 7.582 -5.2140367e-07 -1.3482904e-06 +3788 7.584 -5.1871405e-07 -1.3413354e-06 +3789 7.586 -5.1603830e-07 -1.3344163e-06 +3790 7.588 -5.1337636e-07 -1.3275329e-06 +3791 7.59 -5.1072814e-07 -1.3206850e-06 +3792 7.592 -5.0809359e-07 -1.3138724e-06 +3793 7.594 -5.0547263e-07 -1.3070950e-06 +3794 7.596 -5.0286519e-07 -1.3003525e-06 +3795 7.598 -5.0027120e-07 -1.2936448e-06 +3796 7.6 -4.9769059e-07 -1.2869717e-06 +3797 7.602 -4.9512329e-07 -1.2803330e-06 +3798 7.604 -4.9256923e-07 -1.2737286e-06 +3799 7.606 -4.9002835e-07 -1.2671582e-06 +3800 7.608 -4.8750058e-07 -1.2606217e-06 +3801 7.61 -4.8498584e-07 -1.2541190e-06 +3802 7.612 -4.8248408e-07 -1.2476497e-06 +3803 7.614 -4.7999522e-07 -1.2412139e-06 +3804 7.616 -4.7751920e-07 -1.2348113e-06 +3805 7.618 -4.7505595e-07 -1.2284416e-06 +3806 7.62 -4.7260541e-07 -1.2221049e-06 +3807 7.622 -4.7016751e-07 -1.2158008e-06 +3808 7.624 -4.6774219e-07 -1.2095293e-06 +3809 7.626 -4.6532937e-07 -1.2032901e-06 +3810 7.628 -4.6292901e-07 -1.1970830e-06 +3811 7.63 -4.6054102e-07 -1.1909080e-06 +3812 7.632 -4.5816535e-07 -1.1847649e-06 +3813 7.634 -4.5580194e-07 -1.1786534e-06 +3814 7.636 -4.5345072e-07 -1.1725735e-06 +3815 7.638 -4.5111163e-07 -1.1665249e-06 +3816 7.64 -4.4878460e-07 -1.1605075e-06 +3817 7.642 -4.4646957e-07 -1.1545212e-06 +3818 7.644 -4.4416649e-07 -1.1485658e-06 +3819 7.646 -4.4187529e-07 -1.1426410e-06 +3820 7.648 -4.3959591e-07 -1.1367468e-06 +3821 7.65 -4.3732828e-07 -1.1308831e-06 +3822 7.652 -4.3507236e-07 -1.1250496e-06 +3823 7.654 -4.3282807e-07 -1.1192461e-06 +3824 7.656 -4.3059535e-07 -1.1134726e-06 +3825 7.658 -4.2837415e-07 -1.1077289e-06 +3826 7.66 -4.2616442e-07 -1.1020148e-06 +3827 7.662 -4.2396608e-07 -1.0963302e-06 +3828 7.664 -4.2177908e-07 -1.0906750e-06 +3829 7.666 -4.1960336e-07 -1.0850488e-06 +3830 7.668 -4.1743886e-07 -1.0794518e-06 +3831 7.67 -4.1528553e-07 -1.0738835e-06 +3832 7.672 -4.1314331e-07 -1.0683440e-06 +3833 7.674 -4.1101214e-07 -1.0628331e-06 +3834 7.676 -4.0889196e-07 -1.0573506e-06 +3835 7.678 -4.0678271e-07 -1.0518964e-06 +3836 7.68 -4.0468435e-07 -1.0464703e-06 +3837 7.682 -4.0259681e-07 -1.0410722e-06 +3838 7.684 -4.0052004e-07 -1.0357020e-06 +3839 7.686 -3.9845399e-07 -1.0303595e-06 +3840 7.688 -3.9639859e-07 -1.0250445e-06 +3841 7.69 -3.9435379e-07 -1.0197569e-06 +3842 7.692 -3.9231954e-07 -1.0144966e-06 +3843 7.694 -3.9029579e-07 -1.0092635e-06 +3844 7.696 -3.8828247e-07 -1.0040573e-06 +3845 7.698 -3.8627954e-07 -9.9887798e-07 +3846 7.7 -3.8428694e-07 -9.9372539e-07 +3847 7.702 -3.8230462e-07 -9.8859938e-07 +3848 7.704 -3.8033253e-07 -9.8349981e-07 +3849 7.706 -3.7837060e-07 -9.7842654e-07 +3850 7.708 -3.7641880e-07 -9.7337944e-07 +3851 7.71 -3.7447707e-07 -9.6835838e-07 +3852 7.712 -3.7254535e-07 -9.6336322e-07 +3853 7.714 -3.7062360e-07 -9.5839383e-07 +3854 7.716 -3.6871176e-07 -9.5345007e-07 +3855 7.718 -3.6680978e-07 -9.4853181e-07 +3856 7.72 -3.6491761e-07 -9.4363892e-07 +3857 7.722 -3.6303521e-07 -9.3877127e-07 +3858 7.724 -3.6116251e-07 -9.3392873e-07 +3859 7.726 -3.5929948e-07 -9.2911117e-07 +3860 7.728 -3.5744605e-07 -9.2431846e-07 +3861 7.73 -3.5560219e-07 -9.1955048e-07 +3862 7.732 -3.5376783e-07 -9.1480708e-07 +3863 7.734 -3.5194294e-07 -9.1008816e-07 +3864 7.736 -3.5012746e-07 -9.0539358e-07 +3865 7.738 -3.4832135e-07 -9.0072321e-07 +3866 7.74 -3.4652456e-07 -8.9607694e-07 +3867 7.742 -3.4473703e-07 -8.9145463e-07 +3868 7.744 -3.4295872e-07 -8.8685617e-07 +3869 7.746 -3.4118959e-07 -8.8228142e-07 +3870 7.748 -3.3942958e-07 -8.7773028e-07 +3871 7.75 -3.3767865e-07 -8.7320261e-07 +3872 7.752 -3.3593675e-07 -8.6869829e-07 +3873 7.754 -3.3420384e-07 -8.6421721e-07 +3874 7.756 -3.3247987e-07 -8.5975925e-07 +3875 7.758 -3.3076479e-07 -8.5532428e-07 +3876 7.76 -3.2905856e-07 -8.5091219e-07 +3877 7.762 -3.2736113e-07 -8.4652286e-07 +3878 7.764 -3.2567245e-07 -8.4215617e-07 +3879 7.766 -3.2399249e-07 -8.3781200e-07 +3880 7.768 -3.2232119e-07 -8.3349025e-07 +3881 7.77 -3.2065851e-07 -8.2919078e-07 +3882 7.772 -3.1900441e-07 -8.2491350e-07 +3883 7.774 -3.1735884e-07 -8.2065828e-07 +3884 7.776 -3.1572176e-07 -8.1642501e-07 +3885 7.778 -3.1409313e-07 -8.1221357e-07 +3886 7.78 -3.1247289e-07 -8.0802386e-07 +3887 7.782 -3.1086102e-07 -8.0385576e-07 +3888 7.784 -3.0925746e-07 -7.9970916e-07 +3889 7.786 -3.0766217e-07 -7.9558395e-07 +3890 7.788 -3.0607511e-07 -7.9148003e-07 +3891 7.79 -3.0449623e-07 -7.8739727e-07 +3892 7.792 -3.0292550e-07 -7.8333557e-07 +3893 7.794 -3.0136288e-07 -7.7929482e-07 +3894 7.796 -2.9980831e-07 -7.7527491e-07 +3895 7.798 -2.9826176e-07 -7.7127575e-07 +3896 7.8 -2.9672319e-07 -7.6729721e-07 +3897 7.802 -2.9519256e-07 -7.6333919e-07 +3898 7.804 -2.9366982e-07 -7.5940159e-07 +3899 7.806 -2.9215494e-07 -7.5548430e-07 +3900 7.808 -2.9064787e-07 -7.5158722e-07 +3901 7.81 -2.8914858e-07 -7.4771024e-07 +3902 7.812 -2.8765702e-07 -7.4385326e-07 +3903 7.814 -2.8617315e-07 -7.4001618e-07 +3904 7.816 -2.8469694e-07 -7.3619889e-07 +3905 7.818 -2.8322834e-07 -7.3240129e-07 +3906 7.82 -2.8176732e-07 -7.2862328e-07 +3907 7.822 -2.8031384e-07 -7.2486476e-07 +3908 7.824 -2.7886785e-07 -7.2112562e-07 +3909 7.826 -2.7742932e-07 -7.1740577e-07 +3910 7.828 -2.7599821e-07 -7.1370512e-07 +3911 7.83 -2.7457449e-07 -7.1002355e-07 +3912 7.832 -2.7315811e-07 -7.0636097e-07 +3913 7.834 -2.7174903e-07 -7.0271728e-07 +3914 7.836 -2.7034722e-07 -6.9909239e-07 +3915 7.838 -2.6895265e-07 -6.9548620e-07 +3916 7.84 -2.6756527e-07 -6.9189861e-07 +3917 7.842 -2.6618504e-07 -6.8832953e-07 +3918 7.844 -2.6481194e-07 -6.8477885e-07 +3919 7.846 -2.6344591e-07 -6.8124650e-07 +3920 7.848 -2.6208694e-07 -6.7773236e-07 +3921 7.85 -2.6073497e-07 -6.7423635e-07 +3922 7.852 -2.5938998e-07 -6.7075838e-07 +3923 7.854 -2.5805193e-07 -6.6729834e-07 +3924 7.856 -2.5672078e-07 -6.6385616e-07 +3925 7.858 -2.5539649e-07 -6.6043173e-07 +3926 7.86 -2.5407904e-07 -6.5702496e-07 +3927 7.862 -2.5276838e-07 -6.5363577e-07 +3928 7.864 -2.5146448e-07 -6.5026406e-07 +3929 7.866 -2.5016731e-07 -6.4690974e-07 +3930 7.868 -2.4887683e-07 -6.4357272e-07 +3931 7.87 -2.4759301e-07 -6.4025292e-07 +3932 7.872 -2.4631581e-07 -6.3695025e-07 +3933 7.874 -2.4504520e-07 -6.3366461e-07 +3934 7.876 -2.4378114e-07 -6.3039591e-07 +3935 7.878 -2.4252360e-07 -6.2714408e-07 +3936 7.88 -2.4127255e-07 -6.2390903e-07 +3937 7.882 -2.4002796e-07 -6.2069066e-07 +3938 7.884 -2.3878978e-07 -6.1748889e-07 +3939 7.886 -2.3755799e-07 -6.1430364e-07 +3940 7.888 -2.3633255e-07 -6.1113482e-07 +3941 7.89 -2.3511344e-07 -6.0798234e-07 +3942 7.892 -2.3390061e-07 -6.0484613e-07 +3943 7.894 -2.3269404e-07 -6.0172609e-07 +3944 7.896 -2.3149370e-07 -5.9862215e-07 +3945 7.898 -2.3029954e-07 -5.9553422e-07 +3946 7.9 -2.2911155e-07 -5.9246222e-07 +3947 7.902 -2.2792968e-07 -5.8940607e-07 +3948 7.904 -2.2675392e-07 -5.8636568e-07 +3949 7.906 -2.2558421e-07 -5.8334097e-07 +3950 7.908 -2.2442054e-07 -5.8033186e-07 +3951 7.91 -2.2326287e-07 -5.7733828e-07 +3952 7.912 -2.2211118e-07 -5.7436014e-07 +3953 7.914 -2.2096542e-07 -5.7139736e-07 +3954 7.916 -2.1982558e-07 -5.6844987e-07 +3955 7.918 -2.1869161e-07 -5.6551758e-07 +3956 7.92 -2.1756350e-07 -5.6260041e-07 +3957 7.922 -2.1644120e-07 -5.5969830e-07 +3958 7.924 -2.1532469e-07 -5.5681115e-07 +3959 7.926 -2.1421395e-07 -5.5393889e-07 +3960 7.928 -2.1310893e-07 -5.5108146e-07 +3961 7.93 -2.1200961e-07 -5.4823876e-07 +3962 7.932 -2.1091596e-07 -5.4541072e-07 +3963 7.934 -2.0982796e-07 -5.4259728e-07 +3964 7.936 -2.0874557e-07 -5.3979834e-07 +3965 7.938 -2.0766876e-07 -5.3701385e-07 +3966 7.94 -2.0659750e-07 -5.3424372e-07 +3967 7.942 -2.0553177e-07 -5.3148787e-07 +3968 7.944 -2.0447154e-07 -5.2874625e-07 +3969 7.946 -2.0341678e-07 -5.2601876e-07 +3970 7.948 -2.0236746e-07 -5.2330534e-07 +3971 7.95 -2.0132355e-07 -5.2060593e-07 +3972 7.952 -2.0028502e-07 -5.1792043e-07 +3973 7.954 -1.9925186e-07 -5.1524879e-07 +3974 7.956 -1.9822402e-07 -5.1259093e-07 +3975 7.958 -1.9720148e-07 -5.0994678e-07 +3976 7.96 -1.9618422e-07 -5.0731627e-07 +3977 7.962 -1.9517221e-07 -5.0469933e-07 +3978 7.964 -1.9416542e-07 -5.0209588e-07 +3979 7.966 -1.9316382e-07 -4.9950587e-07 +3980 7.968 -1.9216738e-07 -4.9692922e-07 +3981 7.97 -1.9117609e-07 -4.9436586e-07 +3982 7.972 -1.9018991e-07 -4.9181572e-07 +3983 7.974 -1.8920882e-07 -4.8927873e-07 +3984 7.976 -1.8823279e-07 -4.8675484e-07 +3985 7.978 -1.8726179e-07 -4.8424396e-07 +3986 7.98 -1.8629580e-07 -4.8174603e-07 +3987 7.982 -1.8533480e-07 -4.7926099e-07 +3988 7.984 -1.8437875e-07 -4.7678877e-07 +3989 7.986 -1.8342763e-07 -4.7432930e-07 +3990 7.988 -1.8248142e-07 -4.7188252e-07 +3991 7.99 -1.8154010e-07 -4.6944836e-07 +3992 7.992 -1.8060362e-07 -4.6702675e-07 +3993 7.994 -1.7967198e-07 -4.6461764e-07 +3994 7.996 -1.7874514e-07 -4.6222095e-07 +3995 7.998 -1.7782309e-07 -4.5983663e-07 +3996 8.0 -1.7690579e-07 -4.5746460e-07 +3997 8.002 -1.7599322e-07 -4.5510482e-07 +3998 8.004 -1.7508536e-07 -4.5275720e-07 +3999 8.006 -1.7418218e-07 -4.5042169e-07 +4000 8.008 -1.7328367e-07 -4.4809823e-07 +4001 8.01 -1.7238978e-07 -4.4578676e-07 +4002 8.012 -1.7150051e-07 -4.4348721e-07 +4003 8.014 -1.7061583e-07 -4.4119952e-07 +4004 8.016 -1.6973571e-07 -4.3892364e-07 +4005 8.018 -1.6886012e-07 -4.3665949e-07 +4006 8.02 -1.6798906e-07 -4.3440702e-07 +4007 8.022 -1.6712249e-07 -4.3216617e-07 +4008 8.024 -1.6626039e-07 -4.2993688e-07 +4009 8.026 -1.6540273e-07 -4.2771909e-07 +4010 8.028 -1.6454950e-07 -4.2551274e-07 +4011 8.03 -1.6370068e-07 -4.2331777e-07 +4012 8.032 -1.6285623e-07 -4.2113413e-07 +4013 8.034 -1.6201613e-07 -4.1896174e-07 +4014 8.036 -1.6118037e-07 -4.1680057e-07 +4015 8.038 -1.6034892e-07 -4.1465054e-07 +4016 8.04 -1.5952176e-07 -4.1251160e-07 +4017 8.042 -1.5869887e-07 -4.1038370e-07 +4018 8.044 -1.5788022e-07 -4.0826677e-07 +4019 8.046 -1.5706579e-07 -4.0616076e-07 +4020 8.048 -1.5625557e-07 -4.0406561e-07 +4021 8.05 -1.5544952e-07 -4.0198128e-07 +4022 8.052 -1.5464764e-07 -3.9990769e-07 +4023 8.054 -1.5384989e-07 -3.9784480e-07 +4024 8.056 -1.5305625e-07 -3.9579256e-07 +4025 8.058 -1.5226671e-07 -3.9375089e-07 +4026 8.06 -1.5148124e-07 -3.9171976e-07 +4027 8.062 -1.5069982e-07 -3.8969911e-07 +4028 8.064 -1.4992244e-07 -3.8768888e-07 +4029 8.066 -1.4914906e-07 -3.8568902e-07 +4030 8.068 -1.4837967e-07 -3.8369948e-07 +4031 8.07 -1.4761426e-07 -3.8172020e-07 +4032 8.072 -1.4685279e-07 -3.7975113e-07 +4033 8.074 -1.4609524e-07 -3.7779221e-07 +4034 8.076 -1.4534161e-07 -3.7584340e-07 +4035 8.078 -1.4459186e-07 -3.7390465e-07 +4036 8.08 -1.4384598e-07 -3.7197589e-07 +4037 8.082 -1.4310395e-07 -3.7005709e-07 +4038 8.084 -1.4236575e-07 -3.6814818e-07 +4039 8.086 -1.4163135e-07 -3.6624912e-07 +4040 8.088 -1.4090075e-07 -3.6435985e-07 +4041 8.09 -1.4017391e-07 -3.6248033e-07 +4042 8.092 -1.3945082e-07 -3.6061051e-07 +4043 8.094 -1.3873146e-07 -3.5875033e-07 +4044 8.096 -1.3801581e-07 -3.5689974e-07 +4045 8.098 -1.3730385e-07 -3.5505870e-07 +4046 8.1 -1.3659557e-07 -3.5322716e-07 +4047 8.102 -1.3589094e-07 -3.5140507e-07 +4048 8.104 -1.3518994e-07 -3.4959238e-07 +4049 8.106 -1.3449256e-07 -3.4778903e-07 +4050 8.108 -1.3379878e-07 -3.4599499e-07 +4051 8.11 -1.3310858e-07 -3.4421020e-07 +4052 8.112 -1.3242193e-07 -3.4243462e-07 +4053 8.114 -1.3173883e-07 -3.4066820e-07 +4054 8.116 -1.3105926e-07 -3.3891089e-07 +4055 8.118 -1.3038318e-07 -3.3716265e-07 +4056 8.12 -1.2971060e-07 -3.3542342e-07 +4057 8.122 -1.2904148e-07 -3.3369316e-07 +4058 8.124 -1.2837582e-07 -3.3197183e-07 +4059 8.126 -1.2771359e-07 -3.3025938e-07 +4060 8.128 -1.2705478e-07 -3.2855577e-07 +4061 8.13 -1.2639936e-07 -3.2686094e-07 +4062 8.132 -1.2574733e-07 -3.2517485e-07 +4063 8.134 -1.2509866e-07 -3.2349746e-07 +4064 8.136 -1.2445333e-07 -3.2182873e-07 +4065 8.138 -1.2381134e-07 -3.2016860e-07 +4066 8.14 -1.2317265e-07 -3.1851703e-07 +4067 8.142 -1.2253726e-07 -3.1687399e-07 +4068 8.144 -1.2190515e-07 -3.1523942e-07 +4069 8.146 -1.2127630e-07 -3.1361328e-07 +4070 8.148 -1.2065069e-07 -3.1199553e-07 +4071 8.15 -1.2002831e-07 -3.1038612e-07 +4072 8.152 -1.1940914e-07 -3.0878502e-07 +4073 8.154 -1.1879317e-07 -3.0719217e-07 +4074 8.156 -1.1818037e-07 -3.0560755e-07 +4075 8.158 -1.1757073e-07 -3.0403109e-07 +4076 8.16 -1.1696424e-07 -3.0246277e-07 +4077 8.162 -1.1636087e-07 -3.0090254e-07 +4078 8.164 -1.1576062e-07 -2.9935035e-07 +4079 8.166 -1.1516347e-07 -2.9780618e-07 +4080 8.168 -1.1456939e-07 -2.9626997e-07 +4081 8.17 -1.1397838e-07 -2.9474168e-07 +4082 8.172 -1.1339042e-07 -2.9322128e-07 +4083 8.174 -1.1280549e-07 -2.9170872e-07 +4084 8.176 -1.1222358e-07 -2.9020396e-07 +4085 8.178 -1.1164467e-07 -2.8870696e-07 +4086 8.18 -1.1106875e-07 -2.8721769e-07 +4087 8.182 -1.1049579e-07 -2.8573609e-07 +4088 8.184 -1.0992580e-07 -2.8426215e-07 +4089 8.186 -1.0935874e-07 -2.8279580e-07 +4090 8.188 -1.0879461e-07 -2.8133702e-07 +4091 8.19 -1.0823339e-07 -2.7988576e-07 +4092 8.192 -1.0767506e-07 -2.7844199e-07 +4093 8.194 -1.0711961e-07 -2.7700567e-07 +4094 8.196 -1.0656703e-07 -2.7557675e-07 +4095 8.198 -1.0601730e-07 -2.7415521e-07 +4096 8.2 -1.0547041e-07 -2.7274100e-07 +4097 8.202 -1.0492633e-07 -2.7133408e-07 +4098 8.204 -1.0438507e-07 -2.6993442e-07 +4099 8.206 -1.0384659e-07 -2.6854198e-07 +4100 8.208 -1.0331089e-07 -2.6715673e-07 +4101 8.21 -1.0277796e-07 -2.6577862e-07 +4102 8.212 -1.0224777e-07 -2.6440762e-07 +4103 8.214 -1.0172032e-07 -2.6304369e-07 +4104 8.216 -1.0119560e-07 -2.6168680e-07 +4105 8.218 -1.0067357e-07 -2.6033690e-07 +4106 8.22 -1.0015424e-07 -2.5899397e-07 +4107 8.222 -9.9637592e-08 -2.5765797e-07 +4108 8.224 -9.9123606e-08 -2.5632886e-07 +4109 8.226 -9.8612272e-08 -2.5500660e-07 +4110 8.228 -9.8103575e-08 -2.5369116e-07 +4111 8.23 -9.7597503e-08 -2.5238252e-07 +4112 8.232 -9.7094041e-08 -2.5108062e-07 +4113 8.234 -9.6593176e-08 -2.4978543e-07 +4114 8.236 -9.6094895e-08 -2.4849693e-07 +4115 8.238 -9.5599184e-08 -2.4721508e-07 +4116 8.24 -9.5106030e-08 -2.4593983e-07 +4117 8.242 -9.4615420e-08 -2.4467117e-07 +4118 8.244 -9.4127341e-08 -2.4340905e-07 +4119 8.246 -9.3641780e-08 -2.4215344e-07 +4120 8.248 -9.3158723e-08 -2.4090430e-07 +4121 8.25 -9.2678158e-08 -2.3966161e-07 +4122 8.252 -9.2200072e-08 -2.3842533e-07 +4123 8.254 -9.1724452e-08 -2.3719543e-07 +4124 8.256 -9.1251286e-08 -2.3597187e-07 +4125 8.258 -9.0780561e-08 -2.3475463e-07 +4126 8.26 -9.0312263e-08 -2.3354366e-07 +4127 8.262 -8.9846382e-08 -2.3233894e-07 +4128 8.264 -8.9382904e-08 -2.3114043e-07 +4129 8.266 -8.8921816e-08 -2.2994811e-07 +4130 8.268 -8.8463107e-08 -2.2876193e-07 +4131 8.27 -8.8006764e-08 -2.2758188e-07 +4132 8.272 -8.7552776e-08 -2.2640791e-07 +4133 8.274 -8.7101129e-08 -2.2524000e-07 +4134 8.276 -8.6651812e-08 -2.2407811e-07 +4135 8.278 -8.6204812e-08 -2.2292222e-07 +4136 8.28 -8.5760119e-08 -2.2177228e-07 +4137 8.282 -8.5317719e-08 -2.2062828e-07 +4138 8.284 -8.4877602e-08 -2.1949019e-07 +4139 8.286 -8.4439754e-08 -2.1835796e-07 +4140 8.288 -8.4004166e-08 -2.1723157e-07 +4141 8.29 -8.3570824e-08 -2.1611099e-07 +4142 8.292 -8.3139718e-08 -2.1499620e-07 +4143 8.294 -8.2710836e-08 -2.1388715e-07 +4144 8.296 -8.2284166e-08 -2.1278383e-07 +4145 8.298 -8.1859697e-08 -2.1168619e-07 +4146 8.3 -8.1437417e-08 -2.1059422e-07 +4147 8.302 -8.1017316e-08 -2.0950788e-07 +4148 8.304 -8.0599382e-08 -2.0842715e-07 +4149 8.306 -8.0183604e-08 -2.0735199e-07 +4150 8.308 -7.9769970e-08 -2.0628237e-07 +4151 8.31 -7.9358470e-08 -2.0521828e-07 +4152 8.312 -7.8949093e-08 -2.0415967e-07 +4153 8.314 -7.8541828e-08 -2.0310652e-07 +4154 8.316 -7.8136664e-08 -2.0205881e-07 +4155 8.318 -7.7733589e-08 -2.0101650e-07 +4156 8.32 -7.7332594e-08 -1.9997956e-07 +4157 8.322 -7.6933667e-08 -1.9894798e-07 +4158 8.324 -7.6536799e-08 -1.9792172e-07 +4159 8.326 -7.6141977e-08 -1.9690075e-07 +4160 8.328 -7.5749192e-08 -1.9588504e-07 +4161 8.33 -7.5358433e-08 -1.9487458e-07 +4162 8.332 -7.4969690e-08 -1.9386933e-07 +4163 8.334 -7.4582953e-08 -1.9286926e-07 +4164 8.336 -7.4198210e-08 -1.9187436e-07 +4165 8.338 -7.3815452e-08 -1.9088458e-07 +4166 8.34 -7.3434668e-08 -1.8989991e-07 +4167 8.342 -7.3055849e-08 -1.8892032e-07 +4168 8.344 -7.2678983e-08 -1.8794579e-07 +4169 8.346 -7.2304062e-08 -1.8697628e-07 +4170 8.348 -7.1931075e-08 -1.8601177e-07 +4171 8.35 -7.1560012e-08 -1.8505224e-07 +4172 8.352 -7.1190863e-08 -1.8409765e-07 +4173 8.354 -7.0823618e-08 -1.8314799e-07 +4174 8.356 -7.0458268e-08 -1.8220323e-07 +4175 8.358 -7.0094802e-08 -1.8126334e-07 +4176 8.36 -6.9733211e-08 -1.8032831e-07 +4177 8.362 -6.9373485e-08 -1.7939809e-07 +4178 8.364 -6.9015615e-08 -1.7847267e-07 +4179 8.366 -6.8659591e-08 -1.7755203e-07 +4180 8.368 -6.8305404e-08 -1.7663613e-07 +4181 8.37 -6.7953044e-08 -1.7572496e-07 +4182 8.372 -6.7602501e-08 -1.7481850e-07 +4183 8.374 -6.7253767e-08 -1.7391670e-07 +4184 8.376 -6.6906831e-08 -1.7301956e-07 +4185 8.378 -6.6561685e-08 -1.7212704e-07 +4186 8.38 -6.6218320e-08 -1.7123913e-07 +4187 8.382 -6.5876726e-08 -1.7035580e-07 +4188 8.384 -6.5536894e-08 -1.6947703e-07 +4189 8.386 -6.5198815e-08 -1.6860279e-07 +4190 8.388 -6.4862480e-08 -1.6773306e-07 +4191 8.39 -6.4527879e-08 -1.6686782e-07 +4192 8.392 -6.4195005e-08 -1.6600703e-07 +4193 8.394 -6.3863848e-08 -1.6515069e-07 +4194 8.396 -6.3534400e-08 -1.6429877e-07 +4195 8.398 -6.3206650e-08 -1.6345124e-07 +4196 8.4 -6.2880592e-08 -1.6260808e-07 +4197 8.402 -6.2556215e-08 -1.6176928e-07 +4198 8.404 -6.2233512e-08 -1.6093479e-07 +4199 8.406 -6.1912473e-08 -1.6010462e-07 +4200 8.408 -6.1593090e-08 -1.5927872e-07 +4201 8.41 -6.1275355e-08 -1.5845709e-07 +4202 8.412 -6.0959259e-08 -1.5763970e-07 +4203 8.414 -6.0644794e-08 -1.5682652e-07 +4204 8.416 -6.0331950e-08 -1.5601753e-07 +4205 8.418 -6.0020721e-08 -1.5521272e-07 +4206 8.42 -5.9711097e-08 -1.5441206e-07 +4207 8.422 -5.9403070e-08 -1.5361553e-07 +4208 8.424 -5.9096632e-08 -1.5282311e-07 +4209 8.426 -5.8791775e-08 -1.5203478e-07 +4210 8.428 -5.8488490e-08 -1.5125051e-07 +4211 8.43 -5.8186770e-08 -1.5047029e-07 +4212 8.432 -5.7886606e-08 -1.4969409e-07 +4213 8.434 -5.7587991e-08 -1.4892190e-07 +4214 8.436 -5.7290916e-08 -1.4815369e-07 +4215 8.438 -5.6995373e-08 -1.4738945e-07 +4216 8.44 -5.6701355e-08 -1.4662914e-07 +4217 8.442 -5.6408854e-08 -1.4587276e-07 +4218 8.444 -5.6117862e-08 -1.4512028e-07 +4219 8.446 -5.5828371e-08 -1.4437168e-07 +4220 8.448 -5.5540373e-08 -1.4362694e-07 +4221 8.45 -5.5253860e-08 -1.4288605e-07 +4222 8.452 -5.4968826e-08 -1.4214898e-07 +4223 8.454 -5.4685262e-08 -1.4141570e-07 +4224 8.456 -5.4403160e-08 -1.4068621e-07 +4225 8.458 -5.4122514e-08 -1.3996049e-07 +4226 8.46 -5.3843316e-08 -1.3923851e-07 +4227 8.462 -5.3565558e-08 -1.3852025e-07 +4228 8.464 -5.3289233e-08 -1.3780569e-07 +4229 8.466 -5.3014333e-08 -1.3709483e-07 +4230 8.468 -5.2740851e-08 -1.3638763e-07 +4231 8.47 -5.2468780e-08 -1.3568407e-07 +4232 8.472 -5.2198112e-08 -1.3498415e-07 +4233 8.474 -5.1928841e-08 -1.3428784e-07 +4234 8.476 -5.1660958e-08 -1.3359512e-07 +4235 8.478 -5.1394458e-08 -1.3290597e-07 +4236 8.48 -5.1129332e-08 -1.3222038e-07 +4237 8.482 -5.0865574e-08 -1.3153832e-07 +4238 8.484 -5.0603176e-08 -1.3085979e-07 +4239 8.486 -5.0342132e-08 -1.3018475e-07 +4240 8.488 -5.0082435e-08 -1.2951319e-07 +4241 8.49 -4.9824077e-08 -1.2884510e-07 +4242 8.492 -4.9567052e-08 -1.2818046e-07 +4243 8.494 -4.9311353e-08 -1.2751924e-07 +4244 8.496 -4.9056973e-08 -1.2686143e-07 +4245 8.498 -4.8803905e-08 -1.2620702e-07 +4246 8.5 -4.8552143e-08 -1.2555599e-07 +4247 8.502 -4.8301679e-08 -1.2490831e-07 +4248 8.504 -4.8052507e-08 -1.2426397e-07 +4249 8.506 -4.7804621e-08 -1.2362296e-07 +4250 8.508 -4.7558013e-08 -1.2298525e-07 +4251 8.51 -4.7312678e-08 -1.2235083e-07 +4252 8.512 -4.7068608e-08 -1.2171969e-07 +4253 8.514 -4.6825797e-08 -1.2109180e-07 +4254 8.516 -4.6584238e-08 -1.2046715e-07 +4255 8.518 -4.6343926e-08 -1.1984572e-07 +4256 8.52 -4.6104853e-08 -1.1922750e-07 +4257 8.522 -4.5867014e-08 -1.1861246e-07 +4258 8.524 -4.5630401e-08 -1.1800060e-07 +4259 8.526 -4.5395010e-08 -1.1739190e-07 +4260 8.528 -4.5160832e-08 -1.1678633e-07 +4261 8.53 -4.4927862e-08 -1.1618389e-07 +4262 8.532 -4.4696094e-08 -1.1558456e-07 +4263 8.534 -4.4465522e-08 -1.1498832e-07 +4264 8.536 -4.4236139e-08 -1.1439515e-07 +4265 8.538 -4.4007939e-08 -1.1380505e-07 +4266 8.54 -4.3780917e-08 -1.1321798e-07 +4267 8.542 -4.3555065e-08 -1.1263395e-07 +4268 8.544 -4.3330379e-08 -1.1205293e-07 +4269 8.546 -4.3106851e-08 -1.1147490e-07 +4270 8.548 -4.2884477e-08 -1.1089986e-07 +4271 8.55 -4.2663250e-08 -1.1032779e-07 +4272 8.552 -4.2443164e-08 -1.0975866e-07 +4273 8.554 -4.2224213e-08 -1.0919247e-07 +4274 8.556 -4.2006392e-08 -1.0862920e-07 +4275 8.558 -4.1789695e-08 -1.0806884e-07 +4276 8.56 -4.1574115e-08 -1.0751137e-07 +4277 8.562 -4.1359647e-08 -1.0695677e-07 +4278 8.564 -4.1146286e-08 -1.0640503e-07 +4279 8.566 -4.0934025e-08 -1.0585614e-07 +4280 8.568 -4.0722860e-08 -1.0531009e-07 +4281 8.57 -4.0512783e-08 -1.0476684e-07 +4282 8.572 -4.0303790e-08 -1.0422640e-07 +4283 8.574 -4.0095876e-08 -1.0368875e-07 +4284 8.576 -3.9889033e-08 -1.0315387e-07 +4285 8.578 -3.9683258e-08 -1.0262176e-07 +4286 8.58 -3.9478545e-08 -1.0209238e-07 +4287 8.582 -3.9274887e-08 -1.0156574e-07 +4288 8.584 -3.9072280e-08 -1.0104181e-07 +4289 8.586 -3.8870718e-08 -1.0052059e-07 +4290 8.588 -3.8670196e-08 -1.0000205e-07 +4291 8.59 -3.8470708e-08 -9.9486191e-08 +4292 8.592 -3.8272249e-08 -9.8972991e-08 +4293 8.594 -3.8074814e-08 -9.8462438e-08 +4294 8.596 -3.7878398e-08 -9.7954520e-08 +4295 8.598 -3.7682994e-08 -9.7449221e-08 +4296 8.6 -3.7488599e-08 -9.6946529e-08 +4297 8.602 -3.7295206e-08 -9.6446430e-08 +4298 8.604 -3.7102812e-08 -9.5948910e-08 +4299 8.606 -3.6911409e-08 -9.5453958e-08 +4300 8.608 -3.6720994e-08 -9.4961558e-08 +4301 8.61 -3.6531561e-08 -9.4471698e-08 +4302 8.612 -3.6343106e-08 -9.3984365e-08 +4303 8.614 -3.6155622e-08 -9.3499546e-08 +4304 8.616 -3.5969106e-08 -9.3017228e-08 +4305 8.618 -3.5783552e-08 -9.2537398e-08 +4306 8.62 -3.5598954e-08 -9.2060043e-08 +4307 8.622 -3.5415310e-08 -9.1585150e-08 +4308 8.624 -3.5232612e-08 -9.1112708e-08 +4309 8.626 -3.5050857e-08 -9.0642702e-08 +4310 8.628 -3.4870040e-08 -9.0175121e-08 +4311 8.63 -3.4690155e-08 -8.9709951e-08 +4312 8.632 -3.4511198e-08 -8.9247181e-08 +4313 8.634 -3.4333165e-08 -8.8786799e-08 +4314 8.636 -3.4156050e-08 -8.8328791e-08 +4315 8.638 -3.3979848e-08 -8.7873146e-08 +4316 8.64 -3.3804555e-08 -8.7419851e-08 +4317 8.642 -3.3630167e-08 -8.6968895e-08 +4318 8.644 -3.3456678e-08 -8.6520264e-08 +4319 8.646 -3.3284085e-08 -8.6073948e-08 +4320 8.648 -3.3112381e-08 -8.5629935e-08 +4321 8.65 -3.2941563e-08 -8.5188211e-08 +4322 8.652 -3.2771627e-08 -8.4748766e-08 +4323 8.654 -3.2602567e-08 -8.4311588e-08 +4324 8.656 -3.2434379e-08 -8.3876666e-08 +4325 8.658 -3.2267059e-08 -8.3443986e-08 +4326 8.66 -3.2100601e-08 -8.3013539e-08 +4327 8.662 -3.1935003e-08 -8.2585312e-08 +4328 8.664 -3.1770259e-08 -8.2159294e-08 +4329 8.666 -3.1606364e-08 -8.1735474e-08 +4330 8.668 -3.1443315e-08 -8.1313840e-08 +4331 8.67 -3.1281107e-08 -8.0894381e-08 +4332 8.672 -3.1119736e-08 -8.0477085e-08 +4333 8.674 -3.0959198e-08 -8.0061943e-08 +4334 8.676 -3.0799487e-08 -7.9648941e-08 +4335 8.678 -3.0640600e-08 -7.9238070e-08 +4336 8.68 -3.0482533e-08 -7.8829319e-08 +4337 8.682 -3.0325282e-08 -7.8422676e-08 +4338 8.684 -3.0168841e-08 -7.8018131e-08 +4339 8.686 -3.0013208e-08 -7.7615672e-08 +4340 8.688 -2.9858377e-08 -7.7215290e-08 +4341 8.69 -2.9704345e-08 -7.6816973e-08 +4342 8.692 -2.9551108e-08 -7.6420711e-08 +4343 8.694 -2.9398661e-08 -7.6026492e-08 +4344 8.696 -2.9247001e-08 -7.5634308e-08 +4345 8.698 -2.9096123e-08 -7.5244146e-08 +4346 8.7 -2.8946023e-08 -7.4855997e-08 +4347 8.702 -2.8796697e-08 -7.4469850e-08 +4348 8.704 -2.8648142e-08 -7.4085695e-08 +4349 8.706 -2.8500353e-08 -7.3703522e-08 +4350 8.708 -2.8353327e-08 -7.3323320e-08 +4351 8.71 -2.8207059e-08 -7.2945079e-08 +4352 8.712 -2.8061545e-08 -7.2568790e-08 +4353 8.714 -2.7916782e-08 -7.2194441e-08 +4354 8.716 -2.7772766e-08 -7.1822024e-08 +4355 8.718 -2.7629493e-08 -7.1451528e-08 +4356 8.72 -2.7486959e-08 -7.1082943e-08 +4357 8.722 -2.7345160e-08 -7.0716259e-08 +4358 8.724 -2.7204092e-08 -7.0351466e-08 +4359 8.726 -2.7063753e-08 -6.9988556e-08 +4360 8.728 -2.6924137e-08 -6.9627517e-08 +4361 8.73 -2.6785241e-08 -6.9268341e-08 +4362 8.732 -2.6647062e-08 -6.8911018e-08 +4363 8.734 -2.6509596e-08 -6.8555538e-08 +4364 8.736 -2.6372839e-08 -6.8201892e-08 +4365 8.738 -2.6236787e-08 -6.7850069e-08 +4366 8.74 -2.6101437e-08 -6.7500062e-08 +4367 8.742 -2.5966786e-08 -6.7151860e-08 +4368 8.744 -2.5832829e-08 -6.6805455e-08 +4369 8.746 -2.5699563e-08 -6.6460836e-08 +4370 8.748 -2.5566984e-08 -6.6117995e-08 +4371 8.75 -2.5435090e-08 -6.5776923e-08 +4372 8.752 -2.5303875e-08 -6.5437610e-08 +4373 8.754 -2.5173338e-08 -6.5100047e-08 +4374 8.756 -2.5043474e-08 -6.4764225e-08 +4375 8.758 -2.4914280e-08 -6.4430136e-08 +4376 8.76 -2.4785752e-08 -6.4097771e-08 +4377 8.762 -2.4657888e-08 -6.3767119e-08 +4378 8.764 -2.4530683e-08 -6.3438174e-08 +4379 8.766 -2.4404134e-08 -6.3110925e-08 +4380 8.768 -2.4278238e-08 -6.2785364e-08 +4381 8.77 -2.4152991e-08 -6.2461483e-08 +4382 8.772 -2.4028391e-08 -6.2139272e-08 +4383 8.774 -2.3904433e-08 -6.1818724e-08 +4384 8.776 -2.3781115e-08 -6.1499829e-08 +4385 8.778 -2.3658433e-08 -6.1182579e-08 +4386 8.78 -2.3536383e-08 -6.0866965e-08 +4387 8.782 -2.3414964e-08 -6.0552980e-08 +4388 8.784 -2.3294170e-08 -6.0240614e-08 +4389 8.786 -2.3174000e-08 -5.9929860e-08 +4390 8.788 -2.3054450e-08 -5.9620709e-08 +4391 8.79 -2.2935516e-08 -5.9313152e-08 +4392 8.792 -2.2817196e-08 -5.9007182e-08 +4393 8.794 -2.2699486e-08 -5.8702790e-08 +4394 8.796 -2.2582384e-08 -5.8399968e-08 +4395 8.798 -2.2465886e-08 -5.8098709e-08 +4396 8.8 -2.2349988e-08 -5.7799003e-08 +4397 8.802 -2.2234689e-08 -5.7500844e-08 +4398 8.804 -2.2119984e-08 -5.7204222e-08 +4399 8.806 -2.2005871e-08 -5.6909131e-08 +4400 8.808 -2.1892346e-08 -5.6615562e-08 +4401 8.81 -2.1779407e-08 -5.6323507e-08 +4402 8.812 -2.1667051e-08 -5.6032959e-08 +4403 8.814 -2.1555275e-08 -5.5743910e-08 +4404 8.816 -2.1444075e-08 -5.5456351e-08 +4405 8.818 -2.1333448e-08 -5.5170276e-08 +4406 8.82 -2.1223392e-08 -5.4885677e-08 +4407 8.822 -2.1113904e-08 -5.4602546e-08 +4408 8.824 -2.1004981e-08 -5.4320875e-08 +4409 8.826 -2.0896620e-08 -5.4040657e-08 +4410 8.828 -2.0788818e-08 -5.3761885e-08 +4411 8.83 -2.0681571e-08 -5.3484550e-08 +4412 8.832 -2.0574879e-08 -5.3208647e-08 +4413 8.834 -2.0468736e-08 -5.2934166e-08 +4414 8.836 -2.0363141e-08 -5.2661102e-08 +4415 8.838 -2.0258091e-08 -5.2389446e-08 +4416 8.84 -2.0153582e-08 -5.2119191e-08 +4417 8.842 -2.0049613e-08 -5.1850331e-08 +4418 8.844 -1.9946180e-08 -5.1582857e-08 +4419 8.846 -1.9843281e-08 -5.1316764e-08 +4420 8.848 -1.9740912e-08 -5.1052042e-08 +4421 8.85 -1.9639071e-08 -5.0788687e-08 +4422 8.852 -1.9537756e-08 -5.0526689e-08 +4423 8.854 -1.9436964e-08 -5.0266044e-08 +4424 8.856 -1.9336691e-08 -5.0006743e-08 +4425 8.858 -1.9236936e-08 -4.9748779e-08 +4426 8.86 -1.9137695e-08 -4.9492146e-08 +4427 8.862 -1.9038966e-08 -4.9236837e-08 +4428 8.864 -1.8940747e-08 -4.8982845e-08 +4429 8.866 -1.8843034e-08 -4.8730163e-08 +4430 8.868 -1.8745825e-08 -4.8478785e-08 +4431 8.87 -1.8649118e-08 -4.8228703e-08 +4432 8.872 -1.8552910e-08 -4.7979912e-08 +4433 8.874 -1.8457198e-08 -4.7732404e-08 +4434 8.876 -1.8361979e-08 -4.7486172e-08 +4435 8.878 -1.8267252e-08 -4.7241211e-08 +4436 8.88 -1.8173014e-08 -4.6997513e-08 +4437 8.882 -1.8079261e-08 -4.6755072e-08 +4438 8.884 -1.7985993e-08 -4.6513883e-08 +4439 8.886 -1.7893205e-08 -4.6273937e-08 +4440 8.888 -1.7800896e-08 -4.6035229e-08 +4441 8.89 -1.7709063e-08 -4.5797752e-08 +4442 8.892 -1.7617704e-08 -4.5561500e-08 +4443 8.894 -1.7526816e-08 -4.5326467e-08 +4444 8.896 -1.7436397e-08 -4.5092647e-08 +4445 8.898 -1.7346445e-08 -4.4860032e-08 +4446 8.9 -1.7256957e-08 -4.4628618e-08 +4447 8.902 -1.7167930e-08 -4.4398397e-08 +4448 8.904 -1.7079362e-08 -4.4169364e-08 +4449 8.906 -1.6991251e-08 -4.3941512e-08 +4450 8.908 -1.6903595e-08 -4.3714836e-08 +4451 8.91 -1.6816391e-08 -4.3489329e-08 +4452 8.912 -1.6729637e-08 -4.3264985e-08 +4453 8.914 -1.6643331e-08 -4.3041799e-08 +4454 8.916 -1.6557469e-08 -4.2819763e-08 +4455 8.918 -1.6472051e-08 -4.2598874e-08 +4456 8.92 -1.6387073e-08 -4.2379123e-08 +4457 8.922 -1.6302534e-08 -4.2160506e-08 +4458 8.924 -1.6218430e-08 -4.1943017e-08 +4459 8.926 -1.6134761e-08 -4.1726650e-08 +4460 8.928 -1.6051523e-08 -4.1511399e-08 +4461 8.93 -1.5968714e-08 -4.1297258e-08 +4462 8.932 -1.5886333e-08 -4.1084222e-08 +4463 8.934 -1.5804377e-08 -4.0872285e-08 +4464 8.936 -1.5722843e-08 -4.0661441e-08 +4465 8.938 -1.5641730e-08 -4.0451685e-08 +4466 8.94 -1.5561036e-08 -4.0243011e-08 +4467 8.942 -1.5480758e-08 -4.0035413e-08 +4468 8.944 -1.5400893e-08 -3.9828886e-08 +4469 8.946 -1.5321441e-08 -3.9623425e-08 +4470 8.948 -1.5242399e-08 -3.9419023e-08 +4471 8.95 -1.5163765e-08 -3.9215676e-08 +4472 8.952 -1.5085536e-08 -3.9013377e-08 +4473 8.954 -1.5007710e-08 -3.8812123e-08 +4474 8.956 -1.4930286e-08 -3.8611906e-08 +4475 8.958 -1.4853262e-08 -3.8412722e-08 +4476 8.96 -1.4776635e-08 -3.8214566e-08 +4477 8.962 -1.4700403e-08 -3.8017432e-08 +4478 8.964 -1.4624564e-08 -3.7821315e-08 +4479 8.966 -1.4549117e-08 -3.7626209e-08 +4480 8.968 -1.4474059e-08 -3.7432110e-08 +4481 8.97 -1.4399388e-08 -3.7239012e-08 +4482 8.972 -1.4325102e-08 -3.7046910e-08 +4483 8.974 -1.4251200e-08 -3.6855800e-08 +4484 8.976 -1.4177678e-08 -3.6665675e-08 +4485 8.978 -1.4104536e-08 -3.6476530e-08 +4486 8.98 -1.4031772e-08 -3.6288362e-08 +4487 8.982 -1.3959382e-08 -3.6101164e-08 +4488 8.984 -1.3887366e-08 -3.5914932e-08 +4489 8.986 -1.3815722e-08 -3.5729660e-08 +4490 8.988 -1.3744447e-08 -3.5545344e-08 +4491 8.99 -1.3673540e-08 -3.5361979e-08 +4492 8.992 -1.3602998e-08 -3.5179560e-08 +4493 8.994 -1.3532821e-08 -3.4998082e-08 +4494 8.996 -1.3463006e-08 -3.4817540e-08 +4495 8.998 -1.3393550e-08 -3.4637930e-08 +4496 9.0 -1.3324453e-08 -3.4459245e-08 +4497 9.002 -1.3255713e-08 -3.4281483e-08 +4498 9.004 -1.3187327e-08 -3.4104638e-08 +4499 9.006 -1.3119293e-08 -3.3928704e-08 +4500 9.008 -1.3051611e-08 -3.3753679e-08 +4501 9.01 -1.2984278e-08 -3.3579556e-08 +4502 9.012 -1.2917292e-08 -3.3406331e-08 +4503 9.014 -1.2850652e-08 -3.3234000e-08 +4504 9.016 -1.2784356e-08 -3.3062558e-08 +4505 9.018 -1.2718401e-08 -3.2892001e-08 +4506 9.02 -1.2652787e-08 -3.2722323e-08 +4507 9.022 -1.2587512e-08 -3.2553520e-08 +4508 9.024 -1.2522573e-08 -3.2385589e-08 +4509 9.026 -1.2457969e-08 -3.2218523e-08 +4510 9.028 -1.2393698e-08 -3.2052319e-08 +4511 9.03 -1.2329759e-08 -3.1886973e-08 +4512 9.032 -1.2266149e-08 -3.1722480e-08 +4513 9.034 -1.2202868e-08 -3.1558835e-08 +4514 9.036 -1.2139914e-08 -3.1396034e-08 +4515 9.038 -1.2077284e-08 -3.1234073e-08 +4516 9.04 -1.2014977e-08 -3.1072948e-08 +4517 9.042 -1.1952991e-08 -3.0912654e-08 +4518 9.044 -1.1891326e-08 -3.0753186e-08 +4519 9.046 -1.1829978e-08 -3.0594541e-08 +4520 9.048 -1.1768947e-08 -3.0436715e-08 +4521 9.05 -1.1708231e-08 -3.0279703e-08 +4522 9.052 -1.1647827e-08 -3.0123500e-08 +4523 9.054 -1.1587736e-08 -2.9968104e-08 +4524 9.056 -1.1527955e-08 -2.9813509e-08 +4525 9.058 -1.1468481e-08 -2.9659711e-08 +4526 9.06 -1.1409315e-08 -2.9506707e-08 +4527 9.062 -1.1350454e-08 -2.9354492e-08 +4528 9.064 -1.1291897e-08 -2.9203063e-08 +4529 9.066 -1.1233641e-08 -2.9052414e-08 +4530 9.068 -1.1175686e-08 -2.8902543e-08 +4531 9.07 -1.1118031e-08 -2.8753445e-08 +4532 9.072 -1.1060672e-08 -2.8605115e-08 +4533 9.074 -1.1003610e-08 -2.8457551e-08 +4534 9.076 -1.0946841e-08 -2.8310749e-08 +4535 9.078 -1.0890366e-08 -2.8164703e-08 +4536 9.08 -1.0834182e-08 -2.8019411e-08 +4537 9.082 -1.0778288e-08 -2.7874868e-08 +4538 9.084 -1.0722682e-08 -2.7731071e-08 +4539 9.086 -1.0667363e-08 -2.7588016e-08 +4540 9.088 -1.0612330e-08 -2.7445699e-08 +4541 9.09 -1.0557580e-08 -2.7304116e-08 +4542 9.092 -1.0503113e-08 -2.7163263e-08 +4543 9.094 -1.0448926e-08 -2.7023137e-08 +4544 9.096 -1.0395020e-08 -2.6883733e-08 +4545 9.098 -1.0341391e-08 -2.6745049e-08 +4546 9.1 -1.0288039e-08 -2.6607080e-08 +4547 9.102 -1.0234962e-08 -2.6469823e-08 +4548 9.104 -1.0182159e-08 -2.6333274e-08 +4549 9.106 -1.0129629e-08 -2.6197429e-08 +4550 9.108 -1.0077369e-08 -2.6062285e-08 +4551 9.11 -1.0025379e-08 -2.5927838e-08 +4552 9.112 -9.9736572e-09 -2.5794085e-08 +4553 9.114 -9.9222022e-09 -2.5661022e-08 +4554 9.116 -9.8710127e-09 -2.5528645e-08 +4555 9.118 -9.8200872e-09 -2.5396951e-08 +4556 9.12 -9.7694244e-09 -2.5265936e-08 +4557 9.122 -9.7190230e-09 -2.5135597e-08 +4558 9.124 -9.6688816e-09 -2.5005931e-08 +4559 9.126 -9.6189988e-09 -2.4876933e-08 +4560 9.128 -9.5693734e-09 -2.4748601e-08 +4561 9.13 -9.5200040e-09 -2.4620931e-08 +4562 9.132 -9.4708892e-09 -2.4493919e-08 +4563 9.134 -9.4220279e-09 -2.4367563e-08 +4564 9.136 -9.3734186e-09 -2.4241858e-08 +4565 9.138 -9.3250600e-09 -2.4116802e-08 +4566 9.14 -9.2769509e-09 -2.3992391e-08 +4567 9.142 -9.2290900e-09 -2.3868621e-08 +4568 9.144 -9.1814760e-09 -2.3745491e-08 +4569 9.146 -9.1341076e-09 -2.3622995e-08 +4570 9.148 -9.0869836e-09 -2.3501131e-08 +4571 9.15 -9.0401027e-09 -2.3379896e-08 +4572 9.152 -8.9934636e-09 -2.3259286e-08 +4573 9.154 -8.9470651e-09 -2.3139299e-08 +4574 9.156 -8.9009060e-09 -2.3019930e-08 +4575 9.158 -8.8549850e-09 -2.2901177e-08 +4576 9.16 -8.8093009e-09 -2.2783037e-08 +4577 9.162 -8.7638524e-09 -2.2665506e-08 +4578 9.164 -8.7186385e-09 -2.2548582e-08 +4579 9.166 -8.6736577e-09 -2.2432260e-08 +4580 9.168 -8.6289090e-09 -2.2316539e-08 +4581 9.17 -8.5843912e-09 -2.2201415e-08 +4582 9.172 -8.5401030e-09 -2.2086884e-08 +4583 9.174 -8.4960432e-09 -2.1972944e-08 +4584 9.176 -8.4522108e-09 -2.1859592e-08 +4585 9.178 -8.4086045e-09 -2.1746825e-08 +4586 9.18 -8.3652231e-09 -2.1634640e-08 +4587 9.182 -8.3220655e-09 -2.1523033e-08 +4588 9.184 -8.2791306e-09 -2.1412002e-08 +4589 9.186 -8.2364171e-09 -2.1301543e-08 +4590 9.188 -8.1939240e-09 -2.1191655e-08 +4591 9.19 -8.1516501e-09 -2.1082333e-08 +4592 9.192 -8.1095943e-09 -2.0973575e-08 +4593 9.194 -8.0677555e-09 -2.0865379e-08 +4594 9.196 -8.0261324e-09 -2.0757740e-08 +4595 9.198 -7.9847241e-09 -2.0650657e-08 +4596 9.2 -7.9435294e-09 -2.0544126e-08 +4597 9.202 -7.9025473e-09 -2.0438145e-08 +4598 9.204 -7.8617765e-09 -2.0332710e-08 +4599 9.206 -7.8212161e-09 -2.0227819e-08 +4600 9.208 -7.7808649e-09 -2.0123469e-08 +4601 9.21 -7.7407218e-09 -2.0019658e-08 +4602 9.212 -7.7007859e-09 -1.9916382e-08 +4603 9.214 -7.6610559e-09 -1.9813639e-08 +4604 9.216 -7.6215310e-09 -1.9711426e-08 +4605 9.218 -7.5822099e-09 -1.9609740e-08 +4606 9.22 -7.5430917e-09 -1.9508579e-08 +4607 9.222 -7.5041752e-09 -1.9407939e-08 +4608 9.224 -7.4654595e-09 -1.9307819e-08 +4609 9.226 -7.4269436e-09 -1.9208215e-08 +4610 9.228 -7.3886263e-09 -1.9109125e-08 +4611 9.23 -7.3505068e-09 -1.9010546e-08 +4612 9.232 -7.3125838e-09 -1.8912476e-08 +4613 9.234 -7.2748565e-09 -1.8814911e-08 +4614 9.236 -7.2373238e-09 -1.8717850e-08 +4615 9.238 -7.1999848e-09 -1.8621289e-08 +4616 9.24 -7.1628384e-09 -1.8525227e-08 +4617 9.242 -7.1258835e-09 -1.8429660e-08 +4618 9.244 -7.0891194e-09 -1.8334586e-08 +4619 9.246 -7.0525449e-09 -1.8240003e-08 +4620 9.248 -7.0161590e-09 -1.8145907e-08 +4621 9.25 -6.9799609e-09 -1.8052297e-08 +4622 9.252 -6.9439495e-09 -1.7959170e-08 +4623 9.254 -6.9081239e-09 -1.7866523e-08 +4624 9.256 -6.8724831e-09 -1.7774354e-08 +4625 9.258 -6.8370262e-09 -1.7682661e-08 +4626 9.26 -6.8017522e-09 -1.7591440e-08 +4627 9.262 -6.7666601e-09 -1.7500690e-08 +4628 9.264 -6.7317491e-09 -1.7410409e-08 +4629 9.266 -6.6970182e-09 -1.7320593e-08 +4630 9.268 -6.6624664e-09 -1.7231240e-08 +4631 9.27 -6.6280929e-09 -1.7142348e-08 +4632 9.272 -6.5938967e-09 -1.7053915e-08 +4633 9.274 -6.5598769e-09 -1.6965938e-08 +4634 9.276 -6.5260327e-09 -1.6878415e-08 +4635 9.278 -6.4923630e-09 -1.6791343e-08 +4636 9.28 -6.4588670e-09 -1.6704720e-08 +4637 9.282 -6.4255438e-09 -1.6618545e-08 +4638 9.284 -6.3923925e-09 -1.6532814e-08 +4639 9.286 -6.3594123e-09 -1.6447525e-08 +4640 9.288 -6.3266021e-09 -1.6362676e-08 +4641 9.29 -6.2939613e-09 -1.6278264e-08 +4642 9.292 -6.2614888e-09 -1.6194289e-08 +4643 9.294 -6.2291838e-09 -1.6110746e-08 +4644 9.296 -6.1970455e-09 -1.6027634e-08 +4645 9.298 -6.1650730e-09 -1.5944951e-08 +4646 9.3 -6.1332654e-09 -1.5862695e-08 +4647 9.302 -6.1016219e-09 -1.5780863e-08 +4648 9.304 -6.0701417e-09 -1.5699453e-08 +4649 9.306 -6.0388238e-09 -1.5618463e-08 +4650 9.308 -6.0076676e-09 -1.5537891e-08 +4651 9.31 -5.9766720e-09 -1.5457734e-08 +4652 9.312 -5.9458363e-09 -1.5377991e-08 +4653 9.314 -5.9151598e-09 -1.5298659e-08 +4654 9.316 -5.8846414e-09 -1.5219737e-08 +4655 9.318 -5.8542805e-09 -1.5141222e-08 +4656 9.32 -5.8240763e-09 -1.5063111e-08 +4657 9.322 -5.7940278e-09 -1.4985404e-08 +4658 9.324 -5.7641344e-09 -1.4908097e-08 +4659 9.326 -5.7343952e-09 -1.4831189e-08 +4660 9.328 -5.7048094e-09 -1.4754678e-08 +4661 9.33 -5.6753762e-09 -1.4678562e-08 +4662 9.332 -5.6460949e-09 -1.4602838e-08 +4663 9.334 -5.6169646e-09 -1.4527505e-08 +4664 9.336 -5.5879846e-09 -1.4452561e-08 +4665 9.338 -5.5591541e-09 -1.4378003e-08 +4666 9.34 -5.5304723e-09 -1.4303830e-08 +4667 9.342 -5.5019385e-09 -1.4230039e-08 +4668 9.344 -5.4735519e-09 -1.4156629e-08 +4669 9.346 -5.4453117e-09 -1.4083598e-08 +4670 9.348 -5.4172173e-09 -1.4010943e-08 +4671 9.35 -5.3892677e-09 -1.3938664e-08 +4672 9.352 -5.3614624e-09 -1.3866757e-08 +4673 9.354 -5.3338004e-09 -1.3795221e-08 +4674 9.356 -5.3062812e-09 -1.3724054e-08 +4675 9.358 -5.2789040e-09 -1.3653254e-08 +4676 9.36 -5.2516680e-09 -1.3582820e-08 +4677 9.362 -5.2245725e-09 -1.3512748e-08 +4678 9.364 -5.1976167e-09 -1.3443039e-08 +4679 9.366 -5.1708001e-09 -1.3373688e-08 +4680 9.368 -5.1441217e-09 -1.3304696e-08 +4681 9.37 -5.1175810e-09 -1.3236060e-08 +4682 9.372 -5.0911773e-09 -1.3167777e-08 +4683 9.374 -5.0649097e-09 -1.3099847e-08 +4684 9.376 -5.0387776e-09 -1.3032267e-08 +4685 9.378 -5.0127804e-09 -1.2965036e-08 +4686 9.38 -4.9869173e-09 -1.2898152e-08 +4687 9.382 -4.9611876e-09 -1.2831612e-08 +4688 9.384 -4.9355906e-09 -1.2765416e-08 +4689 9.386 -4.9101257e-09 -1.2699561e-08 +4690 9.388 -4.8847921e-09 -1.2634047e-08 +4691 9.39 -4.8595893e-09 -1.2568870e-08 +4692 9.392 -4.8345164e-09 -1.2504029e-08 +4693 9.394 -4.8095729e-09 -1.2439523e-08 +4694 9.396 -4.7847581e-09 -1.2375349e-08 +4695 9.398 -4.7600713e-09 -1.2311507e-08 +4696 9.4 -4.7355119e-09 -1.2247994e-08 +4697 9.402 -4.7110791e-09 -1.2184808e-08 +4698 9.404 -4.6867724e-09 -1.2121949e-08 +4699 9.406 -4.6625911e-09 -1.2059414e-08 +4700 9.408 -4.6385345e-09 -1.1997201e-08 +4701 9.41 -4.6146021e-09 -1.1935309e-08 +4702 9.412 -4.5907931e-09 -1.1873737e-08 +4703 9.414 -4.5671069e-09 -1.1812482e-08 +4704 9.416 -4.5435429e-09 -1.1751543e-08 +4705 9.418 -4.5201005e-09 -1.1690919e-08 +4706 9.42 -4.4967791e-09 -1.1630607e-08 +4707 9.422 -4.4735779e-09 -1.1570606e-08 +4708 9.424 -4.4504964e-09 -1.1510915e-08 +4709 9.426 -4.4275340e-09 -1.1451532e-08 +4710 9.428 -4.4046901e-09 -1.1392455e-08 +4711 9.43 -4.3819640e-09 -1.1333683e-08 +4712 9.432 -4.3593552e-09 -1.1275214e-08 +4713 9.434 -4.3368630e-09 -1.1217047e-08 +4714 9.436 -4.3144868e-09 -1.1159180e-08 +4715 9.438 -4.2922260e-09 -1.1101611e-08 +4716 9.44 -4.2700801e-09 -1.1044339e-08 +4717 9.442 -4.2480485e-09 -1.0987363e-08 +4718 9.444 -4.2261305e-09 -1.0930681e-08 +4719 9.446 -4.2043256e-09 -1.0874291e-08 +4720 9.448 -4.1826331e-09 -1.0818191e-08 +4721 9.45 -4.1610526e-09 -1.0762382e-08 +4722 9.452 -4.1395834e-09 -1.0706860e-08 +4723 9.454 -4.1182250e-09 -1.0651625e-08 +4724 9.456 -4.0969767e-09 -1.0596674e-08 +4725 9.458 -4.0758381e-09 -1.0542007e-08 +4726 9.46 -4.0548085e-09 -1.0487622e-08 +4727 9.462 -4.0338874e-09 -1.0433518e-08 +4728 9.464 -4.0130742e-09 -1.0379692e-08 +4729 9.466 -3.9923685e-09 -1.0326145e-08 +4730 9.468 -3.9717695e-09 -1.0272873e-08 +4731 9.47 -3.9512768e-09 -1.0219877e-08 +4732 9.472 -3.9308898e-09 -1.0167153e-08 +4733 9.474 -3.9106080e-09 -1.0114702e-08 +4734 9.476 -3.8904308e-09 -1.0062521e-08 +4735 9.478 -3.8703577e-09 -1.0010610e-08 +4736 9.48 -3.8503882e-09 -9.9589662e-09 +4737 9.482 -3.8305217e-09 -9.9075889e-09 +4738 9.484 -3.8107577e-09 -9.8564767e-09 +4739 9.486 -3.7910956e-09 -9.8056280e-09 +4740 9.488 -3.7715350e-09 -9.7550417e-09 +4741 9.49 -3.7520753e-09 -9.7047164e-09 +4742 9.492 -3.7327159e-09 -9.6546507e-09 +4743 9.494 -3.7134565e-09 -9.6048432e-09 +4744 9.496 -3.6942964e-09 -9.5552927e-09 +4745 9.498 -3.6752351e-09 -9.5059978e-09 +4746 9.5 -3.6562722e-09 -9.4569571e-09 +4747 9.502 -3.6374071e-09 -9.4081695e-09 +4748 9.504 -3.6186394e-09 -9.3596335e-09 +4749 9.506 -3.5999684e-09 -9.3113479e-09 +4750 9.508 -3.5813938e-09 -9.2633114e-09 +4751 9.51 -3.5629150e-09 -9.2155227e-09 +4752 9.512 -3.5445316e-09 -9.1679806e-09 +4753 9.514 -3.5262429e-09 -9.1206836e-09 +4754 9.516 -3.5080487e-09 -9.0736307e-09 +4755 9.518 -3.4899483e-09 -9.0268205e-09 +4756 9.52 -3.4719412e-09 -8.9802517e-09 +4757 9.522 -3.4540271e-09 -8.9339232e-09 +4758 9.524 -3.4362054e-09 -8.8878337e-09 +4759 9.526 -3.4184756e-09 -8.8419820e-09 +4760 9.528 -3.4008373e-09 -8.7963667e-09 +4761 9.53 -3.3832900e-09 -8.7509868e-09 +4762 9.532 -3.3658332e-09 -8.7058410e-09 +4763 9.534 -3.3484665e-09 -8.6609281e-09 +4764 9.536 -3.3311893e-09 -8.6162468e-09 +4765 9.538 -3.3140013e-09 -8.5717961e-09 +4766 9.54 -3.2969020e-09 -8.5275747e-09 +4767 9.542 -3.2798909e-09 -8.4835813e-09 +4768 9.544 -3.2629675e-09 -8.4398150e-09 +4769 9.546 -3.2461315e-09 -8.3962744e-09 +4770 9.548 -3.2293823e-09 -8.3529584e-09 +4771 9.55 -3.2127195e-09 -8.3098658e-09 +4772 9.552 -3.1961426e-09 -8.2669956e-09 +4773 9.554 -3.1796513e-09 -8.2243465e-09 +4774 9.556 -3.1632451e-09 -8.1819174e-09 +4775 9.558 -3.1469235e-09 -8.1397072e-09 +4776 9.56 -3.1306861e-09 -8.0977148e-09 +4777 9.562 -3.1145325e-09 -8.0559389e-09 +4778 9.564 -3.0984622e-09 -8.0143786e-09 +4779 9.566 -3.0824749e-09 -7.9730327e-09 +4780 9.568 -3.0665700e-09 -7.9319000e-09 +4781 9.57 -3.0507471e-09 -7.8909796e-09 +4782 9.572 -3.0350059e-09 -7.8502702e-09 +4783 9.574 -3.0193459e-09 -7.8097709e-09 +4784 9.576 -3.0037667e-09 -7.7694804e-09 +4785 9.578 -2.9882678e-09 -7.7293978e-09 +4786 9.58 -2.9728490e-09 -7.6895220e-09 +4787 9.582 -2.9575096e-09 -7.6498519e-09 +4788 9.584 -2.9422494e-09 -7.6103864e-09 +4789 9.586 -2.9270679e-09 -7.5711245e-09 +4790 9.588 -2.9119648e-09 -7.5320652e-09 +4791 9.59 -2.8969395e-09 -7.4932073e-09 +4792 9.592 -2.8819918e-09 -7.4545499e-09 +4793 9.594 -2.8671212e-09 -7.4160920e-09 +4794 9.596 -2.8523273e-09 -7.3778324e-09 +4795 9.598 -2.8376097e-09 -7.3397702e-09 +4796 9.6 -2.8229681e-09 -7.3019043e-09 +4797 9.602 -2.8084020e-09 -7.2642337e-09 +4798 9.604 -2.7939110e-09 -7.2267575e-09 +4799 9.606 -2.7794948e-09 -7.1894747e-09 +4800 9.608 -2.7651530e-09 -7.1523841e-09 +4801 9.61 -2.7508852e-09 -7.1154849e-09 +4802 9.612 -2.7366909e-09 -7.0787760e-09 +4803 9.614 -2.7225699e-09 -7.0422565e-09 +4804 9.616 -2.7085218e-09 -7.0059254e-09 +4805 9.618 -2.6945461e-09 -6.9697817e-09 +4806 9.62 -2.6806425e-09 -6.9338245e-09 +4807 9.622 -2.6668107e-09 -6.8980528e-09 +4808 9.624 -2.6530502e-09 -6.8624656e-09 +4809 9.626 -2.6393607e-09 -6.8270619e-09 +4810 9.628 -2.6257418e-09 -6.7918409e-09 +4811 9.63 -2.6121932e-09 -6.7568017e-09 +4812 9.632 -2.5987145e-09 -6.7219431e-09 +4813 9.634 -2.5853053e-09 -6.6872644e-09 +4814 9.636 -2.5719653e-09 -6.6527646e-09 +4815 9.638 -2.5586942e-09 -6.6184427e-09 +4816 9.64 -2.5454914e-09 -6.5842979e-09 +4817 9.642 -2.5323568e-09 -6.5503293e-09 +4818 9.644 -2.5192900e-09 -6.5165359e-09 +4819 9.646 -2.5062906e-09 -6.4829168e-09 +4820 9.648 -2.4933582e-09 -6.4494711e-09 +4821 9.65 -2.4804926e-09 -6.4161980e-09 +4822 9.652 -2.4676933e-09 -6.3830965e-09 +4823 9.654 -2.4549601e-09 -6.3501658e-09 +4824 9.656 -2.4422925e-09 -6.3174049e-09 +4825 9.658 -2.4296904e-09 -6.2848131e-09 +4826 9.66 -2.4171532e-09 -6.2523894e-09 +4827 9.662 -2.4046807e-09 -6.2201329e-09 +4828 9.664 -2.3922725e-09 -6.1880429e-09 +4829 9.666 -2.3799284e-09 -6.1561184e-09 +4830 9.668 -2.3676480e-09 -6.1243585e-09 +4831 9.67 -2.3554309e-09 -6.0927626e-09 +4832 9.672 -2.3432768e-09 -6.0613296e-09 +4833 9.674 -2.3311854e-09 -6.0300587e-09 +4834 9.676 -2.3191565e-09 -5.9989492e-09 +4835 9.678 -2.3071895e-09 -5.9680002e-09 +4836 9.68 -2.2952843e-09 -5.9372108e-09 +4837 9.682 -2.2834406e-09 -5.9065803e-09 +4838 9.684 -2.2716579e-09 -5.8761077e-09 +4839 9.686 -2.2599360e-09 -5.8457924e-09 +4840 9.688 -2.2482746e-09 -5.8156335e-09 +4841 9.69 -2.2366734e-09 -5.7856301e-09 +4842 9.692 -2.2251320e-09 -5.7557815e-09 +4843 9.694 -2.2136502e-09 -5.7260869e-09 +4844 9.696 -2.2022276e-09 -5.6965455e-09 +4845 9.698 -2.1908639e-09 -5.6671565e-09 +4846 9.7 -2.1795588e-09 -5.6379190e-09 +4847 9.702 -2.1683121e-09 -5.6088324e-09 +4848 9.704 -2.1571234e-09 -5.5798959e-09 +4849 9.706 -2.1459924e-09 -5.5511086e-09 +4850 9.708 -2.1349189e-09 -5.5224699e-09 +4851 9.71 -2.1239025e-09 -5.4939788e-09 +4852 9.712 -2.1129429e-09 -5.4656348e-09 +4853 9.714 -2.1020398e-09 -5.4374370e-09 +4854 9.716 -2.0911930e-09 -5.4093846e-09 +4855 9.718 -2.0804022e-09 -5.3814769e-09 +4856 9.72 -2.0696670e-09 -5.3537132e-09 +4857 9.722 -2.0589872e-09 -5.3260928e-09 +4858 9.724 -2.0483626e-09 -5.2986148e-09 +4859 9.726 -2.0377927e-09 -5.2712786e-09 +4860 9.728 -2.0272773e-09 -5.2440834e-09 +4861 9.73 -2.0168163e-09 -5.2170285e-09 +4862 9.732 -2.0064091e-09 -5.1901131e-09 +4863 9.734 -1.9960557e-09 -5.1633366e-09 +4864 9.736 -1.9857557e-09 -5.1366983e-09 +4865 9.738 -1.9755088e-09 -5.1101973e-09 +4866 9.74 -1.9653148e-09 -5.0838331e-09 +4867 9.742 -1.9551734e-09 -5.0576048e-09 +4868 9.744 -1.9450843e-09 -5.0315119e-09 +4869 9.746 -1.9350473e-09 -5.0055536e-09 +4870 9.748 -1.9250620e-09 -4.9797292e-09 +4871 9.75 -1.9151283e-09 -4.9540380e-09 +4872 9.752 -1.9052458e-09 -4.9284793e-09 +4873 9.754 -1.8954143e-09 -4.9030525e-09 +4874 9.756 -1.8856335e-09 -4.8777569e-09 +4875 9.758 -1.8759031e-09 -4.8525918e-09 +4876 9.76 -1.8662230e-09 -4.8275564e-09 +4877 9.762 -1.8565928e-09 -4.8026503e-09 +4878 9.764 -1.8470123e-09 -4.7778726e-09 +4879 9.766 -1.8374813e-09 -4.7532227e-09 +4880 9.768 -1.8279994e-09 -4.7287000e-09 +4881 9.77 -1.8185664e-09 -4.7043038e-09 +4882 9.772 -1.8091821e-09 -4.6800335e-09 +4883 9.774 -1.7998462e-09 -4.6558883e-09 +4884 9.776 -1.7905584e-09 -4.6318677e-09 +4885 9.778 -1.7813186e-09 -4.6079711e-09 +4886 9.78 -1.7721265e-09 -4.5841977e-09 +4887 9.782 -1.7629817e-09 -4.5605469e-09 +4888 9.784 -1.7538842e-09 -4.5370182e-09 +4889 9.786 -1.7448336e-09 -4.5136108e-09 +4890 9.788 -1.7358297e-09 -4.4903242e-09 +4891 9.79 -1.7268722e-09 -4.4671577e-09 +4892 9.792 -1.7179610e-09 -4.4441107e-09 +4893 9.794 -1.7090957e-09 -4.4211827e-09 +4894 9.796 -1.7002761e-09 -4.3983729e-09 +4895 9.798 -1.6915021e-09 -4.3756807e-09 +4896 9.8 -1.6827733e-09 -4.3531057e-09 +4897 9.802 -1.6740896e-09 -4.3306470e-09 +4898 9.804 -1.6654507e-09 -4.3083043e-09 +4899 9.806 -1.6568563e-09 -4.2860768e-09 +4900 9.808 -1.6483063e-09 -4.2639640e-09 +4901 9.81 -1.6398004e-09 -4.2419652e-09 +4902 9.812 -1.6313384e-09 -4.2200800e-09 +4903 9.814 -1.6229200e-09 -4.1983076e-09 +4904 9.816 -1.6145450e-09 -4.1766476e-09 +4905 9.818 -1.6062133e-09 -4.1550992e-09 +4906 9.82 -1.5979246e-09 -4.1336621e-09 +4907 9.822 -1.5896786e-09 -4.1123355e-09 +4908 9.824 -1.5814752e-09 -4.0911190e-09 +4909 9.826 -1.5733141e-09 -4.0700119e-09 +4910 9.828 -1.5651950e-09 -4.0490137e-09 +4911 9.83 -1.5571179e-09 -4.0281238e-09 +4912 9.832 -1.5490825e-09 -4.0073417e-09 +4913 9.834 -1.5410885e-09 -3.9866668e-09 +4914 9.836 -1.5331357e-09 -3.9660986e-09 +4915 9.838 -1.5252240e-09 -3.9456365e-09 +4916 9.84 -1.5173531e-09 -3.9252799e-09 +4917 9.842 -1.5095228e-09 -3.9050283e-09 +4918 9.844 -1.5017329e-09 -3.8848812e-09 +4919 9.846 -1.4939832e-09 -3.8648381e-09 +4920 9.848 -1.4862735e-09 -3.8448983e-09 +4921 9.85 -1.4786036e-09 -3.8250614e-09 +4922 9.852 -1.4709732e-09 -3.8053269e-09 +4923 9.854 -1.4633822e-09 -3.7856941e-09 +4924 9.856 -1.4558304e-09 -3.7661626e-09 +4925 9.858 -1.4483175e-09 -3.7467319e-09 +4926 9.86 -1.4408434e-09 -3.7274014e-09 +4927 9.862 -1.4334078e-09 -3.7081707e-09 +4928 9.864 -1.4260106e-09 -3.6890391e-09 +4929 9.866 -1.4186516e-09 -3.6700063e-09 +4930 9.868 -1.4113305e-09 -3.6510716e-09 +4931 9.87 -1.4040472e-09 -3.6322346e-09 +4932 9.872 -1.3968015e-09 -3.6134948e-09 +4933 9.874 -1.3895932e-09 -3.5948517e-09 +4934 9.876 -1.3824221e-09 -3.5763047e-09 +4935 9.878 -1.3752879e-09 -3.5578535e-09 +4936 9.88 -1.3681906e-09 -3.5394974e-09 +4937 9.882 -1.3611299e-09 -3.5212360e-09 +4938 9.884 -1.3541056e-09 -3.5030688e-09 +4939 9.886 -1.3471175e-09 -3.4849953e-09 +4940 9.888 -1.3401655e-09 -3.4670151e-09 +4941 9.89 -1.3332494e-09 -3.4491276e-09 +4942 9.892 -1.3263690e-09 -3.4313324e-09 +4943 9.894 -1.3195240e-09 -3.4136290e-09 +4944 9.896 -1.3127144e-09 -3.3960169e-09 +4945 9.898 -1.3059399e-09 -3.3784957e-09 +4946 9.9 -1.2992003e-09 -3.3610649e-09 +4947 9.902 -1.2924956e-09 -3.3437240e-09 +4948 9.904 -1.2858254e-09 -3.3264725e-09 +4949 9.906 -1.2791896e-09 -3.3093101e-09 +4950 9.908 -1.2725881e-09 -3.2922362e-09 +4951 9.91 -1.2660206e-09 -3.2752504e-09 +4952 9.912 -1.2594870e-09 -3.2583521e-09 +4953 9.914 -1.2529871e-09 -3.2415411e-09 +4954 9.916 -1.2465208e-09 -3.2248168e-09 +4955 9.918 -1.2400878e-09 -3.2081788e-09 +4956 9.92 -1.2336880e-09 -3.1916266e-09 +4957 9.922 -1.2273213e-09 -3.1751598e-09 +4958 9.924 -1.2209873e-09 -3.1587779e-09 +4959 9.926 -1.2146861e-09 -3.1424806e-09 +4960 9.928 -1.2084173e-09 -3.1262673e-09 +4961 9.93 -1.2021810e-09 -3.1101377e-09 +4962 9.932 -1.1959767e-09 -3.0940913e-09 +4963 9.934 -1.1898045e-09 -3.0781276e-09 +4964 9.936 -1.1836642e-09 -3.0622464e-09 +4965 9.938 -1.1775555e-09 -3.0464470e-09 +4966 9.94 -1.1714783e-09 -3.0307292e-09 +4967 9.942 -1.1654325e-09 -3.0150924e-09 +4968 9.944 -1.1594179e-09 -2.9995363e-09 +4969 9.946 -1.1534343e-09 -2.9840605e-09 +4970 9.948 -1.1474816e-09 -2.9686645e-09 +4971 9.95 -1.1415596e-09 -2.9533479e-09 +4972 9.952 -1.1356682e-09 -2.9381103e-09 +4973 9.954 -1.1298071e-09 -2.9229513e-09 +4974 9.956 -1.1239763e-09 -2.9078706e-09 +4975 9.958 -1.1181756e-09 -2.8928676e-09 +4976 9.96 -1.1124048e-09 -2.8779421e-09 +4977 9.962 -1.1066638e-09 -2.8630935e-09 +4978 9.964 -1.1009524e-09 -2.8483216e-09 +4979 9.966 -1.0952704e-09 -2.8336258e-09 +4980 9.968 -1.0896178e-09 -2.8190059e-09 +4981 9.97 -1.0839944e-09 -2.8044613e-09 +4982 9.972 -1.0783999e-09 -2.7899919e-09 +4983 9.974 -1.0728343e-09 -2.7755970e-09 +4984 9.976 -1.0672975e-09 -2.7612764e-09 +4985 9.978 -1.0617892e-09 -2.7470297e-09 +4986 9.98 -1.0563093e-09 -2.7328565e-09 +4987 9.982 -1.0508577e-09 -2.7187565e-09 +4988 9.984 -1.0454342e-09 -2.7047291e-09 +4989 9.986 -1.0400387e-09 -2.6907741e-09 +4990 9.988 -1.0346711e-09 -2.6768911e-09 +4991 9.99 -1.0293311e-09 -2.6630798e-09 +4992 9.992 -1.0240187e-09 -2.6493397e-09 +4993 9.994 -1.0187337e-09 -2.6356704e-09 +4994 9.996 -1.0134760e-09 -2.6220717e-09 +4995 9.998 -1.0082454e-09 -2.6085431e-09 + +Pair_Na-O +N 4995 + +1 0.01 5.0000000e+24 6.0000000e+27 +2 0.012 5.6078327e+23 5.6078327e+26 +3 0.014 8.8192890e+22 7.5593906e+25 +4 0.016 1.7763568e+22 1.3322676e+25 +5 0.018 4.3221511e+21 2.8814341e+24 +6 0.02 1.2207031e+21 7.3242188e+23 +7 0.022 3.8895363e+20 2.1215653e+23 +8 0.024 1.3690998e+20 6.8454989e+22 +9 0.026 5.2394998e+19 2.4182307e+22 +10 0.028 2.1531467e+19 9.2277717e+21 +11 0.03 9.4083821e+18 3.7633528e+21 +12 0.032 4.3368087e+18 1.6263033e+21 +13 0.034 2.0951880e+18 7.3947812e+20 +14 0.036 1.0552127e+18 3.5173756e+20 +15 0.038 5.5152708e+17 1.7416645e+20 +16 0.04 2.9802322e+17 8.9406967e+19 +17 0.042 1.6595048e+17 4.7414424e+19 +18 0.044 9.4959384e+16 2.5898014e+19 +19 0.046 5.5702671e+16 1.4531132e+19 +20 0.048 3.3425288e+16 8.3563220e+18 +21 0.05 2.0480000e+16 4.9152000e+18 +22 0.052 1.2791748e+16 2.9519417e+18 +23 0.054 8.1328898e+15 1.8073088e+18 +24 0.056 5.2567059e+15 1.1264370e+18 +25 0.058 3.4501191e+15 7.1381774e+17 +26 0.06 2.2969683e+15 4.5939366e+17 +27 0.062 1.5497789e+15 2.9995720e+17 +28 0.064 1.0587912e+15 1.9852335e+17 +29 0.066 7.3188488e+14 1.3306998e+17 +30 0.068 5.1152051e+14 9.0268325e+16 +31 0.07 3.6123808e+14 6.1926528e+16 +32 0.072 2.5762028e+14 4.2936713e+16 +33 0.074 1.8543400e+14 3.0070378e+16 +34 0.076 1.3465017e+14 2.1260553e+16 +35 0.078 9.8590433e+13 1.5167759e+16 +36 0.08 7.2759576e+13 1.0913936e+16 +37 0.082 5.4100811e+13 7.9171919e+15 +38 0.084 4.0515255e+13 5.7878935e+15 +39 0.086 3.0548408e+13 4.2625686e+15 +40 0.088 2.3183443e+13 3.1613786e+15 +41 0.09 1.7703531e+13 2.3604708e+15 +42 0.092 1.3599285e+13 1.7738198e+15 +43 0.094 1.0505960e+13 1.3411864e+15 +44 0.096 8.1604707e+12 1.0200588e+15 +45 0.098 6.3717261e+12 7.8021135e+14 +46 0.1 5.0000000e+12 6.0000000e+14 +47 0.102 3.9424659e+12 4.6381952e+14 +48 0.104 3.1229852e+12 3.6034445e+14 +49 0.106 2.4848468e+12 2.8130341e+14 +50 0.108 1.9855688e+12 2.2061875e+14 +51 0.11 1.5931541e+12 1.7379863e+14 +52 0.112 1.2833755e+12 1.3750451e+14 +53 0.114 1.0377955e+12 1.0924163e+14 +54 0.116 8.4231422e+11 8.7135954e+13 +55 0.118 6.8609763e+11 6.9772640e+13 +56 0.12 5.6078327e+11 5.6078327e+13 +57 0.122 4.5988796e+11 4.5234881e+13 +58 0.124 3.7836398e+11 3.6615869e+13 +59 0.126 3.1226511e+11 2.9739534e+13 +60 0.128 2.5849394e+11 2.4233807e+13 +61 0.13 2.1460991e+11 1.9810146e+13 +62 0.132 1.7868283e+11 1.6243894e+13 +63 0.134 1.4918063e+11 1.3359459e+13 +64 0.136 1.2488294e+11 1.1019083e+13 +65 0.138 1.0481440e+11 9.1142960e+12 +66 0.14 8.8192891e+10 7.5593906e+12 +67 0.142 7.4389198e+10 6.2864110e+12 +68 0.144 6.2895577e+10 5.2412980e+12 +69 0.146 5.3301047e+10 4.3809079e+12 +70 0.148 4.5271973e+10 3.6707005e+12 +71 0.15 3.8536734e+10 3.0829387e+12 +72 0.152 3.2873577e+10 2.5952823e+12 +73 0.154 2.8100973e+10 2.1896862e+12 +74 0.156 2.4069930e+10 1.8515331e+12 +75 0.158 2.0657843e+10 1.5689501e+12 +76 0.16 1.7763569e+10 1.3322676e+12 +77 0.162 1.5303467e+10 1.1335901e+12 +78 0.164 1.3208206e+10 9.6645409e+11 +79 0.166 1.1420180e+10 8.2555518e+11 +80 0.168 9.8914201e+09 7.0652997e+11 +81 0.17 8.5818906e+09 6.0578048e+11 +82 0.172 7.4581081e+09 5.2033309e+11 +83 0.174 6.4920082e+09 4.4772467e+11 +84 0.176 5.6600208e+09 3.8591048e+11 +85 0.178 4.9423104e+09 3.3318944e+11 +86 0.18 4.3221516e+09 2.8814341e+11 +87 0.182 3.7854142e+09 2.4958772e+11 +88 0.184 3.3201384e+09 2.1653074e+11 +89 0.186 2.9161828e+09 1.8814080e+11 +90 0.188 2.5649322e+09 1.6371905e+11 +91 0.19 2.2590554e+09 1.4267716e+11 +92 0.192 1.9923029e+09 1.2451890e+11 +93 0.194 1.7593383e+09 1.0882502e+11 +94 0.196 1.5555976e+09 9.5240646e+10 +95 0.198 1.3771710e+09 8.3464882e+10 +96 0.2 1.2207036e+09 7.3242189e+10 +97 0.202 1.0833125e+09 6.4355172e+10 +98 0.204 9.6251654e+08 5.6618595e+10 +99 0.206 8.5617706e+08 4.9874367e+10 +100 0.208 7.6244802e+08 4.3987361e+10 +101 0.21 6.7973362e+08 3.8841897e+10 +102 0.212 6.0665249e+08 3.4338797e+10 +103 0.214 5.4200722e+08 3.0392905e+10 +104 0.216 4.8475844e+08 2.6931002e+10 +105 0.218 4.3400278e+08 2.3890039e+10 +106 0.22 3.8895406e+08 2.1215654e+10 +107 0.222 3.4892721e+08 1.8860909e+10 +108 0.224 3.1332451e+08 1.6785221e+10 +109 0.226 2.8162382e+08 1.4953456e+10 +110 0.228 2.5336846e+08 1.3335162e+10 +111 0.23 2.2815855e+08 1.1903905e+10 +112 0.232 2.0564353e+08 1.0636715e+10 +113 0.234 1.8551570e+08 9.5136062e+09 +114 0.236 1.6750471e+08 8.5171694e+09 +115 0.238 1.5137274e+08 7.6322202e+09 +116 0.24 1.3691038e+08 6.8455004e+09 +117 0.242 1.2393301e+08 6.1454203e+09 +118 0.244 1.1227773e+08 5.5218374e+09 +119 0.246 1.0180061e+08 4.9658658e+09 +120 0.248 9.2374405e+07 4.4697119e+09 +121 0.25 8.3886464e+07 4.0265332e+09 +122 0.252 7.6236981e+07 3.6303156e+09 +123 0.254 6.9337436e+07 3.2757678e+09 +124 0.256 6.3109249e+07 2.9582297e+09 +125 0.258 5.7482594e+07 2.6735930e+09 +126 0.26 5.2395369e+07 2.4182320e+09 +127 0.262 4.7792292e+07 2.1889444e+09 +128 0.264 4.3624104e+07 1.9828985e+09 +129 0.266 3.9846880e+07 1.7975885e+09 +130 0.268 3.6421412e+07 1.6307946e+09 +131 0.27 3.3312674e+07 1.4805487e+09 +132 0.272 3.0489354e+07 1.3451041e+09 +133 0.274 2.7923428e+07 1.2229097e+09 +134 0.276 2.5589804e+07 1.1125862e+09 +135 0.278 2.3465991e+07 1.0129067e+09 +136 0.28 2.1531813e+07 9.2277840e+08 +137 0.282 1.9769161e+07 8.4122752e+08 +138 0.284 1.8161766e+07 7.6738537e+08 +139 0.286 1.6694999e+07 7.0047649e+08 +140 0.288 1.5355701e+07 6.3980808e+08 +141 0.29 1.4132021e+07 5.8476067e+08 +142 0.292 1.3013282e+07 5.3477998e+08 +143 0.294 1.1989855e+07 4.8936961e+08 +144 0.296 1.1053054e+07 4.4808472e+08 +145 0.298 1.0195033e+07 4.1052635e+08 +146 0.3 9.4087038e+06 3.7633643e+08 +147 0.302 8.6876568e+06 3.4519335e+08 +148 0.304 8.0260925e+06 3.1680805e+08 +149 0.306 7.4187600e+06 2.9092054e+08 +150 0.308 6.8609017e+06 2.6729679e+08 +151 0.31 6.3482046e+06 2.4572604e+08 +152 0.312 5.8767559e+06 2.2601832e+08 +153 0.314 5.4430039e+06 2.0800228e+08 +154 0.316 5.0437224e+06 1.9152331e+08 +155 0.318 4.6759794e+06 1.7644174e+08 +156 0.32 4.3371083e+06 1.6263139e+08 +157 0.322 4.0246827e+06 1.4997815e+08 +158 0.324 3.7364933e+06 1.3837875e+08 +159 0.326 3.4705276e+06 1.2773973e+08 +160 0.328 3.2249508e+06 1.1797639e+08 +161 0.33 2.9980896e+06 1.0901196e+08 +162 0.332 2.7884169e+06 1.0077680e+08 +163 0.334 2.5945385e+06 9.3207725e+07 +164 0.336 2.4151803e+06 8.6247342e+07 +165 0.338 2.2491782e+06 7.9843504e+07 +166 0.34 2.0954670e+06 7.3948805e+07 +167 0.342 1.9530723e+06 6.8520121e+07 +168 0.344 1.8211021e+06 6.3518202e+07 +169 0.346 1.6987389e+06 5.8907302e+07 +170 0.348 1.5852340e+06 5.4654856e+07 +171 0.35 1.4799004e+06 5.0731170e+07 +172 0.352 1.3821082e+06 4.7109164e+07 +173 0.354 1.2912791e+06 4.3764122e+07 +174 0.356 1.2068822e+06 4.0673477e+07 +175 0.358 1.1284294e+06 3.7816611e+07 +176 0.36 1.0554725e+06 3.5174681e+07 +177 0.362 9.8759893e+05 3.2730454e+07 +178 0.364 9.2442939e+05 3.0468163e+07 +179 0.366 8.6561464e+05 2.8373375e+07 +180 0.368 8.1083306e+05 2.6432874e+07 +181 0.37 7.5978838e+05 2.4634547e+07 +182 0.372 7.1220751e+05 2.2967292e+07 +183 0.374 6.6783863e+05 2.1420928e+07 +184 0.376 6.2644945e+05 1.9986110e+07 +185 0.378 5.8782557e+05 1.8654262e+07 +186 0.38 5.5176902e+05 1.7417507e+07 +187 0.382 5.1809698e+05 1.6268607e+07 +188 0.384 4.8664047e+05 1.5200911e+07 +189 0.386 4.5724329e+05 1.4208299e+07 +190 0.388 4.2976098e+05 1.3285142e+07 +191 0.39 4.0405988e+05 1.2426260e+07 +192 0.392 3.8001628e+05 1.1626881e+07 +193 0.394 3.5751563e+05 1.0882611e+07 +194 0.396 3.3645181e+05 1.0189399e+07 +195 0.398 3.1672649e+05 9.5435096e+06 +196 0.4 2.9824852e+05 8.9414997e+06 +197 0.402 2.8093336e+05 8.3801903e+06 +198 0.404 2.6470259e+05 7.8566475e+06 +199 0.406 2.4948341e+05 7.3681617e+06 +200 0.408 2.3520824e+05 6.9122299e+06 +201 0.41 2.2181433e+05 6.4865386e+06 +202 0.412 2.0924336e+05 6.0889489e+06 +203 0.414 1.9744112e+05 5.7174827e+06 +204 0.416 1.8635723e+05 5.3703094e+06 +205 0.418 1.7594482e+05 5.0457349e+06 +206 0.42 1.6616028e+05 4.7421903e+06 +207 0.422 1.5696301e+05 4.4582225e+06 +208 0.424 1.4831523e+05 4.1924850e+06 +209 0.426 1.4018175e+05 3.9437294e+06 +210 0.428 1.3252977e+05 3.7107983e+06 +211 0.43 1.2532873e+05 3.4926181e+06 +212 0.432 1.1855013e+05 3.2881925e+06 +213 0.434 1.1216740e+05 3.0965964e+06 +214 0.436 1.0615576e+05 2.9169711e+06 +215 0.438 1.0049207e+05 2.7485188e+06 +216 0.44 9.5154736e+04 2.5904981e+06 +217 0.442 9.0123586e+04 2.4422201e+06 +218 0.444 8.5379788e+04 2.3030438e+06 +219 0.446 8.0905741e+04 2.1723734e+06 +220 0.448 7.6684995e+04 2.0496542e+06 +221 0.45 7.2702169e+04 1.9343701e+06 +222 0.452 6.8942879e+04 1.8260406e+06 +223 0.454 6.5393669e+04 1.7242181e+06 +224 0.456 6.2041947e+04 1.6284855e+06 +225 0.458 5.8875927e+04 1.5384543e+06 +226 0.46 5.5884571e+04 1.4537622e+06 +227 0.462 5.3057544e+04 1.3740714e+06 +228 0.464 5.0385162e+04 1.2990668e+06 +229 0.466 4.7858349e+04 1.2284543e+06 +230 0.468 4.5468600e+04 1.1619596e+06 +231 0.47 4.3207937e+04 1.0993264e+06 +232 0.472 4.1068880e+04 1.0403153e+06 +233 0.474 3.9044410e+04 9.8470304e+05 +234 0.476 3.7127941e+04 9.3228056e+05 +235 0.478 3.5313292e+04 8.8285265e+05 +236 0.48 3.3594656e+04 8.3623678e+05 +237 0.482 3.1966584e+04 7.9226223e+05 +238 0.484 3.0423953e+04 7.5076927e+05 +239 0.486 2.8961952e+04 7.1160847e+05 +240 0.488 2.7576058e+04 6.7463992e+05 +241 0.49 2.6262019e+04 6.3973265e+05 +242 0.492 2.5015835e+04 6.0676400e+05 +243 0.494 2.3833747e+04 5.7561907e+05 +244 0.496 2.2712215e+04 5.4619018e+05 +245 0.498 2.1647910e+04 5.1837641e+05 +246 0.5 2.0637696e+04 4.9208316e+05 +247 0.502 1.9678622e+04 4.6722171e+05 +248 0.504 1.8767910e+04 4.4370882e+05 +249 0.506 1.7902940e+04 4.2146642e+05 +250 0.508 1.7081246e+04 4.0042123e+05 +251 0.51 1.6300503e+04 3.8050447e+05 +252 0.512 1.5558519e+04 3.6165154e+05 +253 0.514 1.4853228e+04 3.4380179e+05 +254 0.516 1.4182681e+04 3.2689824e+05 +255 0.518 1.3545040e+04 3.1088733e+05 +256 0.52 1.2938571e+04 2.9571874e+05 +257 0.522 1.2361635e+04 2.8134518e+05 +258 0.524 1.1812690e+04 2.6772214e+05 +259 0.526 1.1290274e+04 2.5480778e+05 +260 0.528 1.0793012e+04 2.4256276e+05 +261 0.53 1.0319602e+04 2.3095003e+05 +262 0.532 9.8688140e+03 2.1993473e+05 +263 0.534 9.4394867e+03 2.0948403e+05 +264 0.536 9.0305221e+03 1.9956705e+05 +265 0.538 8.6408821e+03 1.9015468e+05 +266 0.54 8.2695852e+03 1.8121950e+05 +267 0.542 7.9157032e+03 1.7273567e+05 +268 0.544 7.5783579e+03 1.6467885e+05 +269 0.546 7.2567185e+03 1.5702609e+05 +270 0.548 6.9499987e+03 1.4975574e+05 +271 0.55 6.6574542e+03 1.4284740e+05 +272 0.552 6.3783806e+03 1.3628182e+05 +273 0.554 6.1121106e+03 1.3004084e+05 +274 0.556 5.8580123e+03 1.2410731e+05 +275 0.558 5.6154872e+03 1.1846506e+05 +276 0.56 5.3839681e+03 1.1309881e+05 +277 0.562 5.1629175e+03 1.0799415e+05 +278 0.564 4.9518262e+03 1.0313745e+05 +279 0.566 4.7502110e+03 9.8515849e+04 +280 0.568 4.5576142e+03 9.4117187e+04 +281 0.57 4.3736013e+03 8.9929977e+04 +282 0.572 4.1977606e+03 8.5943360e+04 +283 0.574 4.0297010e+03 8.2147069e+04 +284 0.576 3.8690519e+03 7.8531396e+04 +285 0.578 3.7154612e+03 7.5087160e+04 +286 0.58 3.5685947e+03 7.1805676e+04 +287 0.582 3.4281354e+03 6.8678727e+04 +288 0.584 3.2937820e+03 6.5698537e+04 +289 0.586 3.1652484e+03 6.2857744e+04 +290 0.588 3.0422627e+03 6.0149383e+04 +291 0.59 2.9245670e+03 5.7566854e+04 +292 0.592 2.8119156e+03 5.5103910e+04 +293 0.594 2.7040755e+03 5.2754633e+04 +294 0.596 2.6008251e+03 5.0513417e+04 +295 0.598 2.5019534e+03 4.8374948e+04 +296 0.6 2.4072601e+03 4.6334192e+04 +297 0.602 2.3165547e+03 4.4386376e+04 +298 0.604 2.2296557e+03 4.2526975e+04 +299 0.606 2.1463907e+03 4.0751700e+04 +300 0.608 2.0665955e+03 3.9056480e+04 +301 0.61 1.9901140e+03 3.7437456e+04 +302 0.612 1.9167973e+03 3.5890967e+04 +303 0.614 1.8465041e+03 3.4413537e+04 +304 0.616 1.7790994e+03 3.3001869e+04 +305 0.618 1.7144548e+03 3.1652833e+04 +306 0.62 1.6524483e+03 3.0363457e+04 +307 0.622 1.5929631e+03 2.9130918e+04 +308 0.624 1.5358885e+03 2.7952538e+04 +309 0.626 1.4811186e+03 2.6825771e+04 +310 0.628 1.4285526e+03 2.5748198e+04 +311 0.63 1.3780945e+03 2.4717522e+04 +312 0.632 1.3296527e+03 2.3731559e+04 +313 0.634 1.2831399e+03 2.2788233e+04 +314 0.636 1.2384727e+03 2.1885573e+04 +315 0.638 1.1955717e+03 2.1021701e+04 +316 0.64 1.1543612e+03 2.0194835e+04 +317 0.642 1.1147688e+03 1.9403277e+04 +318 0.644 1.0767256e+03 1.8645414e+04 +319 0.646 1.0401657e+03 1.7919710e+04 +320 0.648 1.0050263e+03 1.7224705e+04 +321 0.65 9.7124738e+02 1.6559008e+04 +322 0.652 9.3877163e+02 1.5921295e+04 +323 0.654 9.0754438e+02 1.5310308e+04 +324 0.656 8.7751339e+02 1.4724847e+04 +325 0.658 8.4862874e+02 1.4163769e+04 +326 0.66 8.2084278e+02 1.3625987e+04 +327 0.662 7.9410996e+02 1.3110464e+04 +328 0.664 7.6838675e+02 1.2616214e+04 +329 0.666 7.4363155e+02 1.2142295e+04 +330 0.668 7.1980461e+02 1.1687813e+04 +331 0.67 6.9686791e+02 1.1251912e+04 +332 0.672 6.7478512e+02 1.0833778e+04 +333 0.674 6.5352147e+02 1.0432635e+04 +334 0.676 6.3304375e+02 1.0047742e+04 +335 0.678 6.1332014e+02 9.6783941e+03 +336 0.68 5.9432026e+02 9.3239177e+03 +337 0.682 5.7601499e+02 8.9836705e+03 +338 0.684 5.5837650e+02 8.6570398e+03 +339 0.686 5.4137814e+02 8.3434410e+03 +340 0.688 5.2499442e+02 8.0423163e+03 +341 0.69 5.0920092e+02 7.7531330e+03 +342 0.692 4.9397426e+02 7.4753830e+03 +343 0.694 4.7929209e+02 7.2085809e+03 +344 0.696 4.6513295e+02 6.9522634e+03 +345 0.698 4.5147634e+02 6.7059882e+03 +346 0.7 4.3830259e+02 6.4693326e+03 +347 0.702 4.2559286e+02 6.2418929e+03 +348 0.704 4.1332913e+02 6.0232836e+03 +349 0.706 4.0149409e+02 5.8131362e+03 +350 0.708 3.9007118e+02 5.6110987e+03 +351 0.71 3.7904451e+02 5.4168346e+03 +352 0.712 3.6839887e+02 5.2300223e+03 +353 0.714 3.5811966e+02 5.0503544e+03 +354 0.716 3.4819289e+02 4.8775369e+03 +355 0.718 3.3860513e+02 4.7112889e+03 +356 0.72 3.2934353e+02 4.5513416e+03 +357 0.722 3.2039574e+02 4.3974379e+03 +358 0.724 3.1174991e+02 4.2493319e+03 +359 0.726 3.0339470e+02 4.1067885e+03 +360 0.728 2.9531920e+02 3.9695825e+03 +361 0.73 2.8751296e+02 3.8374987e+03 +362 0.732 2.7996593e+02 3.7103309e+03 +363 0.734 2.7266849e+02 3.5878819e+03 +364 0.736 2.6561138e+02 3.4699629e+03 +365 0.738 2.5878574e+02 3.3563930e+03 +366 0.74 2.5218303e+02 3.2469992e+03 +367 0.742 2.4579507e+02 3.1416158e+03 +368 0.744 2.3961400e+02 3.0400841e+03 +369 0.746 2.3363226e+02 2.9422519e+03 +370 0.748 2.2784262e+02 2.8479737e+03 +371 0.75 2.2223809e+02 2.7571100e+03 +372 0.752 2.1681199e+02 2.6695270e+03 +373 0.754 2.1155788e+02 2.5850967e+03 +374 0.756 2.0646959e+02 2.5036964e+03 +375 0.758 2.0154116e+02 2.4252082e+03 +376 0.76 1.9676689e+02 2.3495195e+03 +377 0.762 1.9214128e+02 2.2765221e+03 +378 0.764 1.8765907e+02 2.2061124e+03 +379 0.766 1.8331518e+02 2.1381908e+03 +380 0.768 1.7910471e+02 2.0726622e+03 +381 0.77 1.7502299e+02 2.0094349e+03 +382 0.772 1.7106550e+02 1.9484214e+03 +383 0.774 1.6722789e+02 1.8895375e+03 +384 0.776 1.6350598e+02 1.8327024e+03 +385 0.778 1.5989576e+02 1.7778387e+03 +386 0.78 1.5639336e+02 1.7248720e+03 +387 0.782 1.5299506e+02 1.6737311e+03 +388 0.784 1.4969727e+02 1.6243473e+03 +389 0.786 1.4649654e+02 1.5766551e+03 +390 0.788 1.4338956e+02 1.5305912e+03 +391 0.79 1.4037313e+02 1.4860951e+03 +392 0.792 1.3744418e+02 1.4431086e+03 +393 0.794 1.3459973e+02 1.4015758e+03 +394 0.796 1.3183694e+02 1.3614431e+03 +395 0.798 1.2915306e+02 1.3226589e+03 +396 0.8 1.2654544e+02 1.2851737e+03 +397 0.802 1.2401153e+02 1.2489398e+03 +398 0.804 1.2154887e+02 1.2139117e+03 +399 0.806 1.1915511e+02 1.1800454e+03 +400 0.808 1.1682795e+02 1.1472986e+03 +401 0.81 1.1456519e+02 1.1156308e+03 +402 0.812 1.1236473e+02 1.0850030e+03 +403 0.814 1.1022451e+02 1.0553777e+03 +404 0.816 1.0814257e+02 1.0267188e+03 +405 0.818 1.0611702e+02 9.9899178e+02 +406 0.82 1.0414601e+02 9.7216317e+02 +407 0.822 1.0222779e+02 9.4620098e+02 +408 0.824 1.0036065e+02 9.2107438e+02 +409 0.826 9.8542951e+01 8.9675373e+02 +410 0.828 9.6773114e+01 8.7321048e+02 +411 0.83 9.5049610e+01 8.5041722e+02 +412 0.832 9.3370963e+01 8.2834752e+02 +413 0.834 9.1735754e+01 8.0697600e+02 +414 0.836 9.0142610e+01 7.8627819e+02 +415 0.838 8.8590208e+01 7.6623057e+02 +416 0.84 8.7077270e+01 7.4681049e+02 +417 0.842 8.5602562e+01 7.2799614e+02 +418 0.844 8.4164895e+01 7.0976654e+02 +419 0.846 8.2763120e+01 6.9210148e+02 +420 0.848 8.1396126e+01 6.7498150e+02 +421 0.85 8.0062843e+01 6.5838786e+02 +422 0.852 7.8762236e+01 6.4230252e+02 +423 0.854 7.7493305e+01 6.2670809e+02 +424 0.856 7.6255087e+01 6.1158784e+02 +425 0.858 7.5046649e+01 5.9692564e+02 +426 0.86 7.3867090e+01 5.8270595e+02 +427 0.862 7.2715540e+01 5.6891381e+02 +428 0.864 7.1591159e+01 5.5553477e+02 +429 0.866 7.0493135e+01 5.4255495e+02 +430 0.868 6.9420682e+01 5.2996095e+02 +431 0.87 6.8373042e+01 5.1773985e+02 +432 0.872 6.7349482e+01 5.0587921e+02 +433 0.874 6.6349293e+01 4.9436703e+02 +434 0.876 6.5371790e+01 4.8319173e+02 +435 0.878 6.4416309e+01 4.7234218e+02 +436 0.88 6.3482211e+01 4.6180760e+02 +437 0.882 6.2568876e+01 4.5157763e+02 +438 0.884 6.1675704e+01 4.4164227e+02 +439 0.886 6.0802116e+01 4.3199186e+02 +440 0.888 5.9947553e+01 4.2261711e+02 +441 0.89 5.9111470e+01 4.1350903e+02 +442 0.892 5.8293345e+01 4.0465896e+02 +443 0.894 5.7492668e+01 3.9605855e+02 +444 0.896 5.6708949e+01 3.8769973e+02 +445 0.898 5.5941713e+01 3.7957471e+02 +446 0.9 5.5190500e+01 3.7167600e+02 +447 0.902 5.4454863e+01 3.6399633e+02 +448 0.904 5.3734373e+01 3.5652872e+02 +449 0.906 5.3028611e+01 3.4926640e+02 +450 0.908 5.2337175e+01 3.4220287e+02 +451 0.91 5.1659672e+01 3.3533181e+02 +452 0.912 5.0995723e+01 3.2864716e+02 +453 0.914 5.0344963e+01 3.2214304e+02 +454 0.916 4.9707035e+01 3.1581379e+02 +455 0.918 4.9081595e+01 3.0965392e+02 +456 0.92 4.8468309e+01 3.0365816e+02 +457 0.922 4.7866856e+01 2.9782138e+02 +458 0.924 4.7276921e+01 2.9213866e+02 +459 0.926 4.6698202e+01 2.8660523e+02 +460 0.928 4.6130404e+01 2.8121648e+02 +461 0.93 4.5573242e+01 2.7596796e+02 +462 0.932 4.5026441e+01 2.7085536e+02 +463 0.934 4.4489733e+01 2.6587454e+02 +464 0.936 4.3962858e+01 2.6102146e+02 +465 0.938 4.3445565e+01 2.5629225e+02 +466 0.94 4.2937609e+01 2.5168315e+02 +467 0.942 4.2438754e+01 2.4719053e+02 +468 0.944 4.1948772e+01 2.4281088e+02 +469 0.946 4.1467438e+01 2.3854081e+02 +470 0.948 4.0994538e+01 2.3437704e+02 +471 0.95 4.0529861e+01 2.3031638e+02 +472 0.952 4.0073205e+01 2.2635578e+02 +473 0.954 3.9624373e+01 2.2249227e+02 +474 0.956 3.9183173e+01 2.1872296e+02 +475 0.958 3.8749420e+01 2.1504509e+02 +476 0.96 3.8322934e+01 2.1145597e+02 +477 0.962 3.7903539e+01 2.0795300e+02 +478 0.964 3.7491066e+01 2.0453365e+02 +479 0.966 3.7085350e+01 2.0119550e+02 +480 0.968 3.6686232e+01 1.9793619e+02 +481 0.97 3.6293555e+01 1.9475344e+02 +482 0.972 3.5907168e+01 1.9164504e+02 +483 0.974 3.5526926e+01 1.8860886e+02 +484 0.976 3.5152686e+01 1.8564282e+02 +485 0.978 3.4784309e+01 1.8274493e+02 +486 0.98 3.4421662e+01 1.7991324e+02 +487 0.982 3.4064614e+01 1.7714589e+02 +488 0.984 3.3713037e+01 1.7444104e+02 +489 0.986 3.3366809e+01 1.7179694e+02 +490 0.988 3.3025810e+01 1.6921189e+02 +491 0.99 3.2689923e+01 1.6668423e+02 +492 0.992 3.2359036e+01 1.6421236e+02 +493 0.994 3.2033038e+01 1.6179473e+02 +494 0.996 3.1711822e+01 1.5942985e+02 +495 0.998 3.1395284e+01 1.5711626e+02 +496 1.0 3.1083323e+01 1.5485254e+02 +497 1.002 3.0775841e+01 1.5263733e+02 +498 1.004 3.0472743e+01 1.5046931e+02 +499 1.006 3.0173934e+01 1.4834719e+02 +500 1.008 2.9879324e+01 1.4626974e+02 +501 1.01 2.9588826e+01 1.4423574e+02 +502 1.012 2.9302353e+01 1.4224402e+02 +503 1.014 2.9019822e+01 1.4029346e+02 +504 1.016 2.8741152e+01 1.3838296e+02 +505 1.018 2.8466264e+01 1.3651144e+02 +506 1.02 2.8195081e+01 1.3467788e+02 +507 1.022 2.7927528e+01 1.3288128e+02 +508 1.024 2.7663532e+01 1.3112066e+02 +509 1.026 2.7403022e+01 1.2939508e+02 +510 1.028 2.7145929e+01 1.2770363e+02 +511 1.03 2.6892186e+01 1.2604541e+02 +512 1.032 2.6641726e+01 1.2441958e+02 +513 1.034 2.6394486e+01 1.2282529e+02 +514 1.036 2.6150404e+01 1.2126174e+02 +515 1.038 2.5909419e+01 1.1972814e+02 +516 1.04 2.5671472e+01 1.1822372e+02 +517 1.042 2.5436505e+01 1.1674775e+02 +518 1.044 2.5204463e+01 1.1529950e+02 +519 1.046 2.4975289e+01 1.1387829e+02 +520 1.048 2.4748932e+01 1.1248343e+02 +521 1.05 2.4525339e+01 1.1111426e+02 +522 1.052 2.4304458e+01 1.0977015e+02 +523 1.054 2.4086242e+01 1.0845047e+02 +524 1.056 2.3870640e+01 1.0715463e+02 +525 1.058 2.3657608e+01 1.0588205e+02 +526 1.06 2.3447097e+01 1.0463214e+02 +527 1.062 2.3239064e+01 1.0340436e+02 +528 1.064 2.3033465e+01 1.0219818e+02 +529 1.066 2.2830258e+01 1.0101308e+02 +530 1.068 2.2629399e+01 9.9848543e+01 +531 1.07 2.2430850e+01 9.8704085e+01 +532 1.072 2.2234570e+01 9.7579227e+01 +533 1.074 2.2040520e+01 9.6473506e+01 +534 1.076 2.1848663e+01 9.5386470e+01 +535 1.078 2.1658962e+01 9.4317682e+01 +536 1.08 2.1471381e+01 9.3266715e+01 +537 1.082 2.1285884e+01 9.2233155e+01 +538 1.084 2.1102437e+01 9.1216600e+01 +539 1.086 2.0921006e+01 9.0216658e+01 +540 1.088 2.0741559e+01 8.9232949e+01 +541 1.09 2.0564064e+01 8.8265102e+01 +542 1.092 2.0388489e+01 8.7312758e+01 +543 1.094 2.0214803e+01 8.6375567e+01 +544 1.096 2.0042977e+01 8.5453187e+01 +545 1.098 1.9872980e+01 8.4545289e+01 +546 1.1 1.9704786e+01 8.3651549e+01 +547 1.102 1.9538365e+01 8.2771654e+01 +548 1.104 1.9373690e+01 8.1905300e+01 +549 1.106 1.9210735e+01 8.1052188e+01 +550 1.108 1.9049473e+01 8.0212031e+01 +551 1.11 1.8889878e+01 7.9384548e+01 +552 1.112 1.8731926e+01 7.8569464e+01 +553 1.114 1.8575592e+01 7.7766514e+01 +554 1.116 1.8420852e+01 7.6975438e+01 +555 1.118 1.8267683e+01 7.6195983e+01 +556 1.12 1.8116061e+01 7.5427905e+01 +557 1.122 1.7965964e+01 7.4670963e+01 +558 1.124 1.7817370e+01 7.3924925e+01 +559 1.126 1.7670257e+01 7.3189564e+01 +560 1.128 1.7524605e+01 7.2464658e+01 +561 1.13 1.7380392e+01 7.1749993e+01 +562 1.132 1.7237598e+01 7.1045359e+01 +563 1.134 1.7096204e+01 7.0350550e+01 +564 1.136 1.6956189e+01 6.9665369e+01 +565 1.138 1.6817536e+01 6.8989621e+01 +566 1.14 1.6680225e+01 6.8323117e+01 +567 1.142 1.6544237e+01 6.7665673e+01 +568 1.144 1.6409556e+01 6.7017109e+01 +569 1.146 1.6276163e+01 6.6377250e+01 +570 1.148 1.6144041e+01 6.5745926e+01 +571 1.15 1.6013174e+01 6.5122971e+01 +572 1.152 1.5883544e+01 6.4508221e+01 +573 1.154 1.5755136e+01 6.3901519e+01 +574 1.156 1.5627933e+01 6.3302711e+01 +575 1.158 1.5501920e+01 6.2711646e+01 +576 1.16 1.5377081e+01 6.2128177e+01 +577 1.162 1.5253402e+01 6.1552162e+01 +578 1.164 1.5130868e+01 6.0983461e+01 +579 1.166 1.5009463e+01 6.0421937e+01 +580 1.168 1.4889175e+01 5.9867458e+01 +581 1.17 1.4769989e+01 5.9319894e+01 +582 1.172 1.4651891e+01 5.8779119e+01 +583 1.174 1.4534868e+01 5.8245008e+01 +584 1.176 1.4418907e+01 5.7717441e+01 +585 1.178 1.4303994e+01 5.7196302e+01 +586 1.18 1.4190117e+01 5.6681474e+01 +587 1.182 1.4077264e+01 5.6172845e+01 +588 1.184 1.3965422e+01 5.5670307e+01 +589 1.186 1.3854579e+01 5.5173751e+01 +590 1.188 1.3744723e+01 5.4683075e+01 +591 1.19 1.3635842e+01 5.4198175e+01 +592 1.192 1.3527926e+01 5.3718952e+01 +593 1.194 1.3420963e+01 5.3245308e+01 +594 1.196 1.3314941e+01 5.2777149e+01 +595 1.198 1.3209851e+01 5.2314381e+01 +596 1.2 1.3105680e+01 5.1856914e+01 +597 1.202 1.3002420e+01 5.1404659e+01 +598 1.204 1.2900058e+01 5.0957529e+01 +599 1.206 1.2798586e+01 5.0515440e+01 +600 1.208 1.2697993e+01 5.0078308e+01 +601 1.21 1.2598270e+01 4.9646053e+01 +602 1.212 1.2499406e+01 4.9218595e+01 +603 1.214 1.2401392e+01 4.8795857e+01 +604 1.216 1.2304219e+01 4.8377763e+01 +605 1.218 1.2207878e+01 4.7964238e+01 +606 1.22 1.2112359e+01 4.7555212e+01 +607 1.222 1.2017654e+01 4.7150612e+01 +608 1.224 1.1923754e+01 4.6750369e+01 +609 1.226 1.1830650e+01 4.6354415e+01 +610 1.228 1.1738334e+01 4.5962685e+01 +611 1.23 1.1646796e+01 4.5575113e+01 +612 1.232 1.1556030e+01 4.5191635e+01 +613 1.234 1.1466027e+01 4.4812189e+01 +614 1.236 1.1376779e+01 4.4436714e+01 +615 1.238 1.1288278e+01 4.4065152e+01 +616 1.24 1.1200516e+01 4.3697442e+01 +617 1.242 1.1113485e+01 4.3333529e+01 +618 1.244 1.1027179e+01 4.2973355e+01 +619 1.246 1.0941590e+01 4.2616867e+01 +620 1.248 1.0856709e+01 4.2264011e+01 +621 1.25 1.0772531e+01 4.1914733e+01 +622 1.252 1.0689048e+01 4.1568983e+01 +623 1.254 1.0606253e+01 4.1226709e+01 +624 1.256 1.0524139e+01 4.0887863e+01 +625 1.258 1.0442699e+01 4.0552396e+01 +626 1.26 1.0361927e+01 4.0220261e+01 +627 1.262 1.0281816e+01 3.9891410e+01 +628 1.264 1.0202359e+01 3.9565799e+01 +629 1.266 1.0123551e+01 3.9243382e+01 +630 1.268 1.0045384e+01 3.8924116e+01 +631 1.27 9.9678521e+00 3.8607957e+01 +632 1.272 9.8909498e+00 3.8294864e+01 +633 1.274 9.8146706e+00 3.7984794e+01 +634 1.276 9.7390086e+00 3.7677708e+01 +635 1.278 9.6639578e+00 3.7373566e+01 +636 1.28 9.5895124e+00 3.7072329e+01 +637 1.282 9.5156666e+00 3.6773957e+01 +638 1.284 9.4424147e+00 3.6478415e+01 +639 1.286 9.3697511e+00 3.6185664e+01 +640 1.288 9.2976702e+00 3.5895669e+01 +641 1.29 9.2261666e+00 3.5608394e+01 +642 1.292 9.1552348e+00 3.5323805e+01 +643 1.294 9.0848696e+00 3.5041866e+01 +644 1.296 9.0150656e+00 3.4762545e+01 +645 1.298 8.9458177e+00 3.4485809e+01 +646 1.3 8.8771207e+00 3.4211624e+01 +647 1.302 8.8089695e+00 3.3939960e+01 +648 1.304 8.7413592e+00 3.3670784e+01 +649 1.306 8.6742847e+00 3.3404067e+01 +650 1.308 8.6077413e+00 3.3139778e+01 +651 1.31 8.5417240e+00 3.2877888e+01 +652 1.312 8.4762282e+00 3.2618367e+01 +653 1.314 8.4112490e+00 3.2361187e+01 +654 1.316 8.3467819e+00 3.2106320e+01 +655 1.318 8.2828222e+00 3.1853738e+01 +656 1.32 8.2193654e+00 3.1603414e+01 +657 1.322 8.1564070e+00 3.1355321e+01 +658 1.324 8.0939426e+00 3.1109433e+01 +659 1.326 8.0319679e+00 3.0865725e+01 +660 1.328 7.9704783e+00 3.0624170e+01 +661 1.33 7.9094698e+00 3.0384745e+01 +662 1.332 7.8489379e+00 3.0147424e+01 +663 1.334 7.7888787e+00 2.9912183e+01 +664 1.336 7.7292878e+00 2.9679000e+01 +665 1.338 7.6701613e+00 2.9447849e+01 +666 1.34 7.6114951e+00 2.9218709e+01 +667 1.342 7.5532852e+00 2.8991557e+01 +668 1.344 7.4955276e+00 2.8766370e+01 +669 1.346 7.4382184e+00 2.8543127e+01 +670 1.348 7.3813538e+00 2.8321806e+01 +671 1.35 7.3249299e+00 2.8102387e+01 +672 1.352 7.2689430e+00 2.7884847e+01 +673 1.354 7.2133893e+00 2.7669168e+01 +674 1.356 7.1582651e+00 2.7455327e+01 +675 1.358 7.1035667e+00 2.7243306e+01 +676 1.36 7.0492906e+00 2.7033086e+01 +677 1.362 6.9954332e+00 2.6824646e+01 +678 1.364 6.9419909e+00 2.6617967e+01 +679 1.366 6.8889602e+00 2.6413032e+01 +680 1.368 6.8363376e+00 2.6209822e+01 +681 1.37 6.7841197e+00 2.6008317e+01 +682 1.372 6.7323032e+00 2.5808502e+01 +683 1.374 6.6808846e+00 2.5610357e+01 +684 1.376 6.6298607e+00 2.5413866e+01 +685 1.378 6.5792281e+00 2.5219011e+01 +686 1.38 6.5289836e+00 2.5025776e+01 +687 1.382 6.4791239e+00 2.4834145e+01 +688 1.384 6.4296459e+00 2.4644099e+01 +689 1.386 6.3805465e+00 2.4455625e+01 +690 1.388 6.3318224e+00 2.4268704e+01 +691 1.39 6.2834706e+00 2.4083323e+01 +692 1.392 6.2354881e+00 2.3899466e+01 +693 1.394 6.1878717e+00 2.3717116e+01 +694 1.396 6.1406186e+00 2.3536260e+01 +695 1.398 6.0937257e+00 2.3356882e+01 +696 1.4 6.0471901e+00 2.3178968e+01 +697 1.402 6.0010089e+00 2.3002503e+01 +698 1.404 5.9551791e+00 2.2827473e+01 +699 1.406 5.9096980e+00 2.2653864e+01 +700 1.408 5.8645627e+00 2.2481663e+01 +701 1.41 5.8197705e+00 2.2310855e+01 +702 1.412 5.7753184e+00 2.2141427e+01 +703 1.414 5.7312038e+00 2.1973366e+01 +704 1.416 5.6874240e+00 2.1806659e+01 +705 1.418 5.6439763e+00 2.1641292e+01 +706 1.42 5.6008580e+00 2.1477253e+01 +707 1.422 5.5580664e+00 2.1314530e+01 +708 1.424 5.5155990e+00 2.1153109e+01 +709 1.426 5.4734531e+00 2.0992979e+01 +710 1.428 5.4316262e+00 2.0834128e+01 +711 1.43 5.3901158e+00 2.0676542e+01 +712 1.432 5.3489192e+00 2.0520212e+01 +713 1.434 5.3080341e+00 2.0365124e+01 +714 1.436 5.2674579e+00 2.0211268e+01 +715 1.438 5.2271882e+00 2.0058632e+01 +716 1.44 5.1872226e+00 1.9907205e+01 +717 1.442 5.1475586e+00 1.9756975e+01 +718 1.444 5.1081939e+00 1.9607932e+01 +719 1.446 5.0691261e+00 1.9460065e+01 +720 1.448 5.0303528e+00 1.9313363e+01 +721 1.45 4.9918719e+00 1.9167815e+01 +722 1.452 4.9536808e+00 1.9023412e+01 +723 1.454 4.9157775e+00 1.8880142e+01 +724 1.456 4.8781595e+00 1.8737996e+01 +725 1.458 4.8408247e+00 1.8596964e+01 +726 1.46 4.8037709e+00 1.8457035e+01 +727 1.462 4.7669959e+00 1.8318199e+01 +728 1.464 4.7304974e+00 1.8180448e+01 +729 1.466 4.6942734e+00 1.8043771e+01 +730 1.468 4.6583216e+00 1.7908158e+01 +731 1.47 4.6226400e+00 1.7773602e+01 +732 1.472 4.5872265e+00 1.7640091e+01 +733 1.474 4.5520790e+00 1.7507617e+01 +734 1.476 4.5171953e+00 1.7376171e+01 +735 1.478 4.4825736e+00 1.7245744e+01 +736 1.48 4.4482117e+00 1.7116326e+01 +737 1.482 4.4141076e+00 1.6987910e+01 +738 1.484 4.3802594e+00 1.6860487e+01 +739 1.486 4.3466650e+00 1.6734048e+01 +740 1.488 4.3133226e+00 1.6608584e+01 +741 1.49 4.2802300e+00 1.6484087e+01 +742 1.492 4.2473856e+00 1.6360548e+01 +743 1.494 4.2147872e+00 1.6237961e+01 +744 1.496 4.1824331e+00 1.6116315e+01 +745 1.498 4.1503213e+00 1.5995604e+01 +746 1.5 4.1184501e+00 1.5875820e+01 +747 1.502 4.0868174e+00 1.5756954e+01 +748 1.504 4.0554216e+00 1.5638999e+01 +749 1.506 4.0242608e+00 1.5521947e+01 +750 1.508 3.9933333e+00 1.5405790e+01 +751 1.51 3.9626371e+00 1.5290522e+01 +752 1.512 3.9321706e+00 1.5176133e+01 +753 1.514 3.9019320e+00 1.5062618e+01 +754 1.516 3.8719195e+00 1.4949969e+01 +755 1.518 3.8421315e+00 1.4838178e+01 +756 1.52 3.8125662e+00 1.4727239e+01 +757 1.522 3.7832220e+00 1.4617144e+01 +758 1.524 3.7540971e+00 1.4507886e+01 +759 1.526 3.7251899e+00 1.4399458e+01 +760 1.528 3.6964987e+00 1.4291854e+01 +761 1.53 3.6680219e+00 1.4185067e+01 +762 1.532 3.6397579e+00 1.4079090e+01 +763 1.534 3.6117051e+00 1.3973916e+01 +764 1.536 3.5838617e+00 1.3869539e+01 +765 1.538 3.5562264e+00 1.3765952e+01 +766 1.54 3.5287974e+00 1.3663149e+01 +767 1.542 3.5015733e+00 1.3561123e+01 +768 1.544 3.4745524e+00 1.3459868e+01 +769 1.546 3.4477333e+00 1.3359378e+01 +770 1.548 3.4211144e+00 1.3259646e+01 +771 1.55 3.3946942e+00 1.3160667e+01 +772 1.552 3.3684712e+00 1.3062434e+01 +773 1.554 3.3424440e+00 1.2964941e+01 +774 1.556 3.3166110e+00 1.2868182e+01 +775 1.558 3.2909707e+00 1.2772152e+01 +776 1.56 3.2655219e+00 1.2676845e+01 +777 1.562 3.2402629e+00 1.2582254e+01 +778 1.564 3.2151924e+00 1.2488373e+01 +779 1.566 3.1903089e+00 1.2395199e+01 +780 1.568 3.1656111e+00 1.2302723e+01 +781 1.57 3.1410976e+00 1.2210942e+01 +782 1.572 3.1167669e+00 1.2119849e+01 +783 1.574 3.0926177e+00 1.2029439e+01 +784 1.576 3.0686487e+00 1.1939707e+01 +785 1.578 3.0448584e+00 1.1850647e+01 +786 1.58 3.0212456e+00 1.1762254e+01 +787 1.582 2.9978090e+00 1.1674522e+01 +788 1.584 2.9745471e+00 1.1587446e+01 +789 1.586 2.9514588e+00 1.1501022e+01 +790 1.588 2.9285426e+00 1.1415244e+01 +791 1.59 2.9057974e+00 1.1330107e+01 +792 1.592 2.8832218e+00 1.1245605e+01 +793 1.594 2.8608145e+00 1.1161734e+01 +794 1.596 2.8385744e+00 1.1078490e+01 +795 1.598 2.8165001e+00 1.0995866e+01 +796 1.6 2.7945905e+00 1.0913858e+01 +797 1.602 2.7728443e+00 1.0832462e+01 +798 1.604 2.7512603e+00 1.0751672e+01 +799 1.606 2.7298372e+00 1.0671484e+01 +800 1.608 2.7085739e+00 1.0591893e+01 +801 1.61 2.6874692e+00 1.0512895e+01 +802 1.612 2.6665220e+00 1.0434484e+01 +803 1.614 2.6457309e+00 1.0356657e+01 +804 1.616 2.6250950e+00 1.0279408e+01 +805 1.618 2.6046129e+00 1.0202734e+01 +806 1.62 2.5842836e+00 1.0126629e+01 +807 1.622 2.5641060e+00 1.0051090e+01 +808 1.624 2.5440789e+00 9.9761122e+00 +809 1.626 2.5242012e+00 9.9016908e+00 +810 1.628 2.5044718e+00 9.8278217e+00 +811 1.63 2.4848895e+00 9.7545009e+00 +812 1.632 2.4654534e+00 9.6817239e+00 +813 1.634 2.4461623e+00 9.6094867e+00 +814 1.636 2.4270151e+00 9.5377850e+00 +815 1.638 2.4080108e+00 9.4666148e+00 +816 1.64 2.3891483e+00 9.3959720e+00 +817 1.642 2.3704266e+00 9.3258525e+00 +818 1.644 2.3518445e+00 9.2562523e+00 +819 1.646 2.3334012e+00 9.1871675e+00 +820 1.648 2.3150955e+00 9.1185941e+00 +821 1.65 2.2969265e+00 9.0505283e+00 +822 1.652 2.2788931e+00 8.9829660e+00 +823 1.654 2.2609943e+00 8.9159035e+00 +824 1.656 2.2432291e+00 8.8493371e+00 +825 1.658 2.2255966e+00 8.7832628e+00 +826 1.66 2.2080958e+00 8.7176769e+00 +827 1.662 2.1907256e+00 8.6525758e+00 +828 1.664 2.1734851e+00 8.5879558e+00 +829 1.666 2.1563734e+00 8.5238132e+00 +830 1.668 2.1393896e+00 8.4601443e+00 +831 1.67 2.1225326e+00 8.3969456e+00 +832 1.672 2.1058015e+00 8.3342136e+00 +833 1.674 2.0891954e+00 8.2719446e+00 +834 1.676 2.0727134e+00 8.2101352e+00 +835 1.678 2.0563545e+00 8.1487820e+00 +836 1.68 2.0401180e+00 8.0878814e+00 +837 1.682 2.0240027e+00 8.0274300e+00 +838 1.684 2.0080079e+00 7.9674245e+00 +839 1.686 1.9921327e+00 7.9078615e+00 +840 1.688 1.9763762e+00 7.8487377e+00 +841 1.69 1.9607375e+00 7.7900497e+00 +842 1.692 1.9452157e+00 7.7317943e+00 +843 1.694 1.9298100e+00 7.6739682e+00 +844 1.696 1.9145196e+00 7.6165682e+00 +845 1.698 1.8993435e+00 7.5595911e+00 +846 1.7 1.8842809e+00 7.5030337e+00 +847 1.702 1.8693311e+00 7.4468928e+00 +848 1.704 1.8544931e+00 7.3911654e+00 +849 1.706 1.8397661e+00 7.3358484e+00 +850 1.708 1.8251494e+00 7.2809386e+00 +851 1.71 1.8106421e+00 7.2264330e+00 +852 1.712 1.7962434e+00 7.1723286e+00 +853 1.714 1.7819525e+00 7.1186224e+00 +854 1.716 1.7677686e+00 7.0653115e+00 +855 1.718 1.7536910e+00 7.0123927e+00 +856 1.72 1.7397188e+00 6.9598634e+00 +857 1.722 1.7258513e+00 6.9077204e+00 +858 1.724 1.7120877e+00 6.8559610e+00 +859 1.726 1.6984272e+00 6.8045823e+00 +860 1.728 1.6848691e+00 6.7535814e+00 +861 1.73 1.6714126e+00 6.7029555e+00 +862 1.732 1.6580570e+00 6.6527019e+00 +863 1.734 1.6448016e+00 6.6028178e+00 +864 1.736 1.6316455e+00 6.5533003e+00 +865 1.738 1.6185881e+00 6.5041469e+00 +866 1.74 1.6056287e+00 6.4553548e+00 +867 1.742 1.5927665e+00 6.4069212e+00 +868 1.744 1.5800008e+00 6.3588436e+00 +869 1.746 1.5673309e+00 6.3111193e+00 +870 1.748 1.5547560e+00 6.2637457e+00 +871 1.75 1.5422756e+00 6.2167202e+00 +872 1.752 1.5298889e+00 6.1700401e+00 +873 1.754 1.5175953e+00 6.1237030e+00 +874 1.756 1.5053939e+00 6.0777063e+00 +875 1.758 1.4932842e+00 6.0320475e+00 +876 1.76 1.4812655e+00 5.9867240e+00 +877 1.762 1.4693371e+00 5.9417334e+00 +878 1.764 1.4574983e+00 5.8970732e+00 +879 1.766 1.4457486e+00 5.8527411e+00 +880 1.768 1.4340872e+00 5.8087345e+00 +881 1.77 1.4225134e+00 5.7650510e+00 +882 1.772 1.4110267e+00 5.7216884e+00 +883 1.774 1.3996265e+00 5.6786441e+00 +884 1.776 1.3883119e+00 5.6359158e+00 +885 1.778 1.3770826e+00 5.5935013e+00 +886 1.78 1.3659377e+00 5.5513982e+00 +887 1.782 1.3548768e+00 5.5096042e+00 +888 1.784 1.3438991e+00 5.4681171e+00 +889 1.786 1.3330041e+00 5.4269345e+00 +890 1.788 1.3221912e+00 5.3860542e+00 +891 1.79 1.3114597e+00 5.3454740e+00 +892 1.792 1.3008091e+00 5.3051918e+00 +893 1.794 1.2902387e+00 5.2652052e+00 +894 1.796 1.2797481e+00 5.2255121e+00 +895 1.798 1.2693365e+00 5.1861104e+00 +896 1.8 1.2590034e+00 5.1469979e+00 +897 1.802 1.2487483e+00 5.1081725e+00 +898 1.804 1.2385705e+00 5.0696321e+00 +899 1.806 1.2284696e+00 5.0313746e+00 +900 1.808 1.2184449e+00 4.9933979e+00 +901 1.81 1.2084958e+00 4.9556999e+00 +902 1.812 1.1986219e+00 4.9182787e+00 +903 1.814 1.1888225e+00 4.8811321e+00 +904 1.816 1.1790972e+00 4.8442581e+00 +905 1.818 1.1694453e+00 4.8076549e+00 +906 1.82 1.1598664e+00 4.7713202e+00 +907 1.822 1.1503598e+00 4.7352523e+00 +908 1.824 1.1409252e+00 4.6994492e+00 +909 1.826 1.1315619e+00 4.6639088e+00 +910 1.828 1.1222694e+00 4.6286293e+00 +911 1.83 1.1130472e+00 4.5936088e+00 +912 1.832 1.1038948e+00 4.5588453e+00 +913 1.834 1.0948116e+00 4.5243371e+00 +914 1.836 1.0857972e+00 4.4900821e+00 +915 1.838 1.0768511e+00 4.4560786e+00 +916 1.84 1.0679728e+00 4.4223248e+00 +917 1.842 1.0591617e+00 4.3888187e+00 +918 1.844 1.0504173e+00 4.3555586e+00 +919 1.846 1.0417393e+00 4.3225427e+00 +920 1.848 1.0331270e+00 4.2897692e+00 +921 1.85 1.0245800e+00 4.2572363e+00 +922 1.852 1.0160979e+00 4.2249423e+00 +923 1.854 1.0076801e+00 4.1928854e+00 +924 1.856 9.9932619e-01 4.1610639e+00 +925 1.858 9.9103569e-01 4.1294761e+00 +926 1.86 9.8280814e-01 4.0981203e+00 +927 1.862 9.7464306e-01 4.0669947e+00 +928 1.864 9.6654000e-01 4.0360977e+00 +929 1.866 9.5849852e-01 4.0054276e+00 +930 1.868 9.5051814e-01 3.9749827e+00 +931 1.87 9.4259844e-01 3.9447615e+00 +932 1.872 9.3473895e-01 3.9147623e+00 +933 1.874 9.2693924e-01 3.8849834e+00 +934 1.876 9.1919887e-01 3.8554233e+00 +935 1.878 9.1151740e-01 3.8260803e+00 +936 1.88 9.0389441e-01 3.7969530e+00 +937 1.882 8.9632945e-01 3.7680396e+00 +938 1.884 8.8882211e-01 3.7393387e+00 +939 1.886 8.8137195e-01 3.7108486e+00 +940 1.888 8.7397857e-01 3.6825680e+00 +941 1.89 8.6664154e-01 3.6544951e+00 +942 1.892 8.5936045e-01 3.6266286e+00 +943 1.894 8.5213489e-01 3.5989669e+00 +944 1.896 8.4496445e-01 3.5715085e+00 +945 1.898 8.3784872e-01 3.5442520e+00 +946 1.9 8.3078731e-01 3.5171958e+00 +947 1.902 8.2377981e-01 3.4903385e+00 +948 1.904 8.1682582e-01 3.4636787e+00 +949 1.906 8.0992496e-01 3.4372149e+00 +950 1.908 8.0307683e-01 3.4109457e+00 +951 1.91 7.9628105e-01 3.3848697e+00 +952 1.912 7.8953723e-01 3.3589855e+00 +953 1.914 7.8284498e-01 3.3332916e+00 +954 1.916 7.7620393e-01 3.3077868e+00 +955 1.918 7.6961371e-01 3.2824695e+00 +956 1.92 7.6307393e-01 3.2573385e+00 +957 1.922 7.5658423e-01 3.2323925e+00 +958 1.924 7.5014424e-01 3.2076299e+00 +959 1.926 7.4375359e-01 3.1830496e+00 +960 1.928 7.3741192e-01 3.1586501e+00 +961 1.93 7.3111887e-01 3.1344303e+00 +962 1.932 7.2487408e-01 3.1103887e+00 +963 1.934 7.1867720e-01 3.0865240e+00 +964 1.936 7.1252787e-01 3.0628351e+00 +965 1.938 7.0642574e-01 3.0393206e+00 +966 1.94 7.0037047e-01 3.0159792e+00 +967 1.942 6.9436171e-01 2.9928097e+00 +968 1.944 6.8839912e-01 2.9698108e+00 +969 1.946 6.8248235e-01 2.9469813e+00 +970 1.948 6.7661108e-01 2.9243200e+00 +971 1.95 6.7078496e-01 2.9018256e+00 +972 1.952 6.6500367e-01 2.8794969e+00 +973 1.954 6.5926686e-01 2.8573328e+00 +974 1.956 6.5357423e-01 2.8353319e+00 +975 1.958 6.4792543e-01 2.8134933e+00 +976 1.96 6.4232015e-01 2.7918155e+00 +977 1.962 6.3675806e-01 2.7702976e+00 +978 1.964 6.3123885e-01 2.7489383e+00 +979 1.966 6.2576220e-01 2.7277365e+00 +980 1.968 6.2032780e-01 2.7066910e+00 +981 1.97 6.1493533e-01 2.6858007e+00 +982 1.972 6.0958450e-01 2.6650644e+00 +983 1.974 6.0427497e-01 2.6444812e+00 +984 1.976 5.9900647e-01 2.6240497e+00 +985 1.978 5.9377868e-01 2.6037690e+00 +986 1.98 5.8859129e-01 2.5836379e+00 +987 1.982 5.8344402e-01 2.5636554e+00 +988 1.984 5.7833657e-01 2.5438204e+00 +989 1.986 5.7326865e-01 2.5241318e+00 +990 1.988 5.6823995e-01 2.5045885e+00 +991 1.99 5.6325020e-01 2.4851895e+00 +992 1.992 5.5829910e-01 2.4659337e+00 +993 1.994 5.5338637e-01 2.4468202e+00 +994 1.996 5.4851172e-01 2.4278478e+00 +995 1.998 5.4367488e-01 2.4090155e+00 +996 2.0 5.3887557e-01 2.3903224e+00 +997 2.002 5.3411350e-01 2.3717674e+00 +998 2.004 5.2938841e-01 2.3533495e+00 +999 2.006 5.2470001e-01 2.3350677e+00 +1000 2.008 5.2004804e-01 2.3169211e+00 +1001 2.01 5.1543224e-01 2.2989085e+00 +1002 2.012 5.1085232e-01 2.2810292e+00 +1003 2.014 5.0630803e-01 2.2632821e+00 +1004 2.016 5.0179911e-01 2.2456662e+00 +1005 2.018 4.9732528e-01 2.2281806e+00 +1006 2.02 4.9288630e-01 2.2108244e+00 +1007 2.022 4.8848190e-01 2.1935965e+00 +1008 2.024 4.8411183e-01 2.1764962e+00 +1009 2.026 4.7977583e-01 2.1595224e+00 +1010 2.028 4.7547365e-01 2.1426742e+00 +1011 2.03 4.7120505e-01 2.1259507e+00 +1012 2.032 4.6696977e-01 2.1093511e+00 +1013 2.034 4.6276756e-01 2.0928744e+00 +1014 2.036 4.5859819e-01 2.0765197e+00 +1015 2.038 4.5446140e-01 2.0602861e+00 +1016 2.04 4.5035696e-01 2.0441728e+00 +1017 2.042 4.4628463e-01 2.0281789e+00 +1018 2.044 4.4224417e-01 2.0123035e+00 +1019 2.046 4.3823534e-01 1.9965458e+00 +1020 2.048 4.3425791e-01 1.9809048e+00 +1021 2.05 4.3031164e-01 1.9653799e+00 +1022 2.052 4.2639631e-01 1.9499700e+00 +1023 2.054 4.2251169e-01 1.9346744e+00 +1024 2.056 4.1865754e-01 1.9194923e+00 +1025 2.058 4.1483364e-01 1.9044228e+00 +1026 2.06 4.1103977e-01 1.8894651e+00 +1027 2.062 4.0727571e-01 1.8746184e+00 +1028 2.064 4.0354123e-01 1.8598819e+00 +1029 2.066 3.9983611e-01 1.8452548e+00 +1030 2.068 3.9616013e-01 1.8307363e+00 +1031 2.07 3.9251309e-01 1.8163256e+00 +1032 2.072 3.8889476e-01 1.8020219e+00 +1033 2.074 3.8530493e-01 1.7878245e+00 +1034 2.076 3.8174339e-01 1.7737325e+00 +1035 2.078 3.7820993e-01 1.7597453e+00 +1036 2.08 3.7470434e-01 1.7458620e+00 +1037 2.082 3.7122642e-01 1.7320819e+00 +1038 2.084 3.6777595e-01 1.7184042e+00 +1039 2.086 3.6435273e-01 1.7048283e+00 +1040 2.088 3.6095657e-01 1.6913533e+00 +1041 2.09 3.5758725e-01 1.6779785e+00 +1042 2.092 3.5424459e-01 1.6647033e+00 +1043 2.094 3.5092837e-01 1.6515268e+00 +1044 2.096 3.4763841e-01 1.6384484e+00 +1045 2.098 3.4437451e-01 1.6254674e+00 +1046 2.1 3.4113648e-01 1.6125830e+00 +1047 2.102 3.3792412e-01 1.5997945e+00 +1048 2.104 3.3473724e-01 1.5871013e+00 +1049 2.106 3.3157565e-01 1.5745026e+00 +1050 2.108 3.2843916e-01 1.5619978e+00 +1051 2.11 3.2532760e-01 1.5495862e+00 +1052 2.112 3.2224076e-01 1.5372671e+00 +1053 2.114 3.1917847e-01 1.5250398e+00 +1054 2.116 3.1614054e-01 1.5129037e+00 +1055 2.118 3.1312679e-01 1.5008581e+00 +1056 2.12 3.1013705e-01 1.4889023e+00 +1057 2.122 3.0717112e-01 1.4770358e+00 +1058 2.124 3.0422884e-01 1.4652578e+00 +1059 2.126 3.0131003e-01 1.4535676e+00 +1060 2.128 2.9841451e-01 1.4419648e+00 +1061 2.13 2.9554212e-01 1.4304486e+00 +1062 2.132 2.9269266e-01 1.4190184e+00 +1063 2.134 2.8986599e-01 1.4076735e+00 +1064 2.136 2.8706191e-01 1.3964134e+00 +1065 2.138 2.8428028e-01 1.3852375e+00 +1066 2.14 2.8152091e-01 1.3741451e+00 +1067 2.142 2.7878364e-01 1.3631356e+00 +1068 2.144 2.7606831e-01 1.3522084e+00 +1069 2.146 2.7337475e-01 1.3413629e+00 +1070 2.148 2.7070280e-01 1.3305986e+00 +1071 2.15 2.6805230e-01 1.3199148e+00 +1072 2.152 2.6542309e-01 1.3093109e+00 +1073 2.154 2.6281501e-01 1.2987864e+00 +1074 2.156 2.6022789e-01 1.2883407e+00 +1075 2.158 2.5766159e-01 1.2779732e+00 +1076 2.16 2.5511595e-01 1.2676834e+00 +1077 2.162 2.5259081e-01 1.2574706e+00 +1078 2.164 2.5008601e-01 1.2473344e+00 +1079 2.166 2.4760142e-01 1.2372741e+00 +1080 2.168 2.4513687e-01 1.2272893e+00 +1081 2.17 2.4269221e-01 1.2173793e+00 +1082 2.172 2.4026730e-01 1.2075436e+00 +1083 2.174 2.3786199e-01 1.1977817e+00 +1084 2.176 2.3547613e-01 1.1880931e+00 +1085 2.178 2.3310957e-01 1.1784771e+00 +1086 2.18 2.3076217e-01 1.1689334e+00 +1087 2.182 2.2843379e-01 1.1594612e+00 +1088 2.184 2.2612428e-01 1.1500603e+00 +1089 2.186 2.2383350e-01 1.1407299e+00 +1090 2.188 2.2156131e-01 1.1314696e+00 +1091 2.19 2.1930757e-01 1.1222789e+00 +1092 2.192 2.1707215e-01 1.1131573e+00 +1093 2.194 2.1485490e-01 1.1041043e+00 +1094 2.196 2.1265569e-01 1.0951194e+00 +1095 2.198 2.1047438e-01 1.0862020e+00 +1096 2.2 2.0831083e-01 1.0773518e+00 +1097 2.202 2.0616492e-01 1.0685681e+00 +1098 2.204 2.0403652e-01 1.0598505e+00 +1099 2.206 2.0192548e-01 1.0511986e+00 +1100 2.208 1.9983168e-01 1.0426119e+00 +1101 2.21 1.9775499e-01 1.0340898e+00 +1102 2.212 1.9569528e-01 1.0256320e+00 +1103 2.214 1.9365242e-01 1.0172378e+00 +1104 2.216 1.9162628e-01 1.0089070e+00 +1105 2.218 1.8961675e-01 1.0006390e+00 +1106 2.22 1.8762369e-01 9.9243332e-01 +1107 2.222 1.8564697e-01 9.8428956e-01 +1108 2.224 1.8368649e-01 9.7620725e-01 +1109 2.226 1.8174210e-01 9.6818596e-01 +1110 2.228 1.7981370e-01 9.6022522e-01 +1111 2.23 1.7790116e-01 9.5232459e-01 +1112 2.232 1.7600436e-01 9.4448365e-01 +1113 2.234 1.7412319e-01 9.3670196e-01 +1114 2.236 1.7225752e-01 9.2897907e-01 +1115 2.238 1.7040723e-01 9.2131457e-01 +1116 2.24 1.6857222e-01 9.1370802e-01 +1117 2.242 1.6675236e-01 9.0615901e-01 +1118 2.244 1.6494755e-01 8.9866711e-01 +1119 2.246 1.6315766e-01 8.9123191e-01 +1120 2.248 1.6138258e-01 8.8385299e-01 +1121 2.25 1.5962221e-01 8.7652994e-01 +1122 2.252 1.5787642e-01 8.6926236e-01 +1123 2.254 1.5614512e-01 8.6204984e-01 +1124 2.256 1.5442819e-01 8.5489197e-01 +1125 2.258 1.5272552e-01 8.4778836e-01 +1126 2.26 1.5103700e-01 8.4073862e-01 +1127 2.262 1.4936253e-01 8.3374234e-01 +1128 2.264 1.4770199e-01 8.2679914e-01 +1129 2.266 1.4605530e-01 8.1990863e-01 +1130 2.268 1.4442232e-01 8.1307042e-01 +1131 2.27 1.4280298e-01 8.0628413e-01 +1132 2.272 1.4119715e-01 7.9954939e-01 +1133 2.274 1.3960475e-01 7.9286581e-01 +1134 2.276 1.3802566e-01 7.8623303e-01 +1135 2.278 1.3645978e-01 7.7965066e-01 +1136 2.28 1.3490702e-01 7.7311835e-01 +1137 2.282 1.3336727e-01 7.6663572e-01 +1138 2.284 1.3184044e-01 7.6020242e-01 +1139 2.286 1.3032643e-01 7.5381807e-01 +1140 2.288 1.2882514e-01 7.4748233e-01 +1141 2.29 1.2733647e-01 7.4119484e-01 +1142 2.292 1.2586033e-01 7.3495524e-01 +1143 2.294 1.2439662e-01 7.2876319e-01 +1144 2.296 1.2294524e-01 7.2261833e-01 +1145 2.298 1.2150611e-01 7.1652032e-01 +1146 2.3 1.2007913e-01 7.1046882e-01 +1147 2.302 1.1866421e-01 7.0446349e-01 +1148 2.304 1.1726125e-01 6.9850399e-01 +1149 2.306 1.1587016e-01 6.9258998e-01 +1150 2.308 1.1449086e-01 6.8672113e-01 +1151 2.31 1.1312325e-01 6.8089711e-01 +1152 2.312 1.1176724e-01 6.7511759e-01 +1153 2.314 1.1042275e-01 6.6938225e-01 +1154 2.316 1.0908968e-01 6.6369075e-01 +1155 2.318 1.0776796e-01 6.5804279e-01 +1156 2.32 1.0645748e-01 6.5243804e-01 +1157 2.322 1.0515817e-01 6.4687618e-01 +1158 2.324 1.0386995e-01 6.4135690e-01 +1159 2.326 1.0259272e-01 6.3587989e-01 +1160 2.328 1.0132640e-01 6.3044484e-01 +1161 2.33 1.0007091e-01 6.2505143e-01 +1162 2.332 9.8826168e-02 6.1969937e-01 +1163 2.334 9.7592087e-02 6.1438835e-01 +1164 2.336 9.6368587e-02 6.0911807e-01 +1165 2.338 9.5155588e-02 6.0388823e-01 +1166 2.34 9.3953007e-02 5.9869854e-01 +1167 2.342 9.2760767e-02 5.9354869e-01 +1168 2.344 9.1578786e-02 5.8843840e-01 +1169 2.346 9.0406987e-02 5.8336738e-01 +1170 2.348 8.9245291e-02 5.7833533e-01 +1171 2.35 8.8093620e-02 5.7334198e-01 +1172 2.352 8.6951897e-02 5.6838703e-01 +1173 2.354 8.5820046e-02 5.6347021e-01 +1174 2.356 8.4697991e-02 5.5859123e-01 +1175 2.358 8.3585656e-02 5.5374982e-01 +1176 2.36 8.2482967e-02 5.4894570e-01 +1177 2.362 8.1389849e-02 5.4417860e-01 +1178 2.364 8.0306228e-02 5.3944825e-01 +1179 2.366 7.9232032e-02 5.3475436e-01 +1180 2.368 7.8167187e-02 5.3009669e-01 +1181 2.37 7.7111621e-02 5.2547495e-01 +1182 2.372 7.6065263e-02 5.2088889e-01 +1183 2.374 7.5028042e-02 5.1633824e-01 +1184 2.376 7.3999887e-02 5.1182275e-01 +1185 2.378 7.2980727e-02 5.0734215e-01 +1186 2.38 7.1970495e-02 5.0289619e-01 +1187 2.382 7.0969120e-02 4.9848460e-01 +1188 2.384 6.9976534e-02 4.9410715e-01 +1189 2.386 6.8992669e-02 4.8976358e-01 +1190 2.388 6.8017457e-02 4.8545363e-01 +1191 2.39 6.7050832e-02 4.8117707e-01 +1192 2.392 6.6092727e-02 4.7693363e-01 +1193 2.394 6.5143075e-02 4.7272309e-01 +1194 2.396 6.4201813e-02 4.6854520e-01 +1195 2.398 6.3268873e-02 4.6439972e-01 +1196 2.4 6.2344192e-02 4.6028640e-01 +1197 2.402 6.1427706e-02 4.5620502e-01 +1198 2.404 6.0519351e-02 4.5215533e-01 +1199 2.406 5.9619064e-02 4.4813710e-01 +1200 2.408 5.8726782e-02 4.4415010e-01 +1201 2.41 5.7842443e-02 4.4019411e-01 +1202 2.412 5.6965985e-02 4.3626888e-01 +1203 2.414 5.6097347e-02 4.3237420e-01 +1204 2.416 5.5236468e-02 4.2850984e-01 +1205 2.418 5.4383287e-02 4.2467557e-01 +1206 2.42 5.3537746e-02 4.2087117e-01 +1207 2.422 5.2699783e-02 4.1709643e-01 +1208 2.424 5.1869340e-02 4.1335112e-01 +1209 2.426 5.1046359e-02 4.0963502e-01 +1210 2.428 5.0230781e-02 4.0594792e-01 +1211 2.43 4.9422548e-02 4.0228961e-01 +1212 2.432 4.8621603e-02 3.9865988e-01 +1213 2.434 4.7827890e-02 3.9505850e-01 +1214 2.436 4.7041351e-02 3.9148527e-01 +1215 2.438 4.6261930e-02 3.8793999e-01 +1216 2.44 4.5489572e-02 3.8442245e-01 +1217 2.442 4.4724222e-02 3.8093244e-01 +1218 2.444 4.3965824e-02 3.7746975e-01 +1219 2.446 4.3214325e-02 3.7403419e-01 +1220 2.448 4.2469669e-02 3.7062556e-01 +1221 2.45 4.1731805e-02 3.6724365e-01 +1222 2.452 4.1000677e-02 3.6388827e-01 +1223 2.454 4.0276234e-02 3.6055922e-01 +1224 2.456 3.9558423e-02 3.5725631e-01 +1225 2.458 3.8847192e-02 3.5397934e-01 +1226 2.46 3.8142488e-02 3.5072813e-01 +1227 2.462 3.7444262e-02 3.4750247e-01 +1228 2.464 3.6752462e-02 3.4430218e-01 +1229 2.466 3.6067036e-02 3.4112707e-01 +1230 2.468 3.5387937e-02 3.3797696e-01 +1231 2.47 3.4715112e-02 3.3485166e-01 +1232 2.472 3.4048514e-02 3.3175099e-01 +1233 2.474 3.3388092e-02 3.2867476e-01 +1234 2.476 3.2733798e-02 3.2562279e-01 +1235 2.478 3.2085585e-02 3.2259490e-01 +1236 2.48 3.1443403e-02 3.1959092e-01 +1237 2.482 3.0807205e-02 3.1661067e-01 +1238 2.484 3.0176944e-02 3.1365396e-01 +1239 2.486 2.9552574e-02 3.1072063e-01 +1240 2.488 2.8934046e-02 3.0781049e-01 +1241 2.49 2.8321316e-02 3.0492339e-01 +1242 2.492 2.7714338e-02 3.0205915e-01 +1243 2.494 2.7113065e-02 2.9921759e-01 +1244 2.496 2.6517452e-02 2.9639855e-01 +1245 2.498 2.5927456e-02 2.9360187e-01 +1246 2.5 2.5343030e-02 2.9082737e-01 +1247 2.502 2.4764131e-02 2.8807489e-01 +1248 2.504 2.4190716e-02 2.8534426e-01 +1249 2.506 2.3622740e-02 2.8263533e-01 +1250 2.508 2.3060160e-02 2.7994793e-01 +1251 2.51 2.2502934e-02 2.7728191e-01 +1252 2.512 2.1951018e-02 2.7463709e-01 +1253 2.514 2.1404371e-02 2.7201334e-01 +1254 2.516 2.0862951e-02 2.6941048e-01 +1255 2.518 2.0326716e-02 2.6682836e-01 +1256 2.52 1.9795624e-02 2.6426683e-01 +1257 2.522 1.9269635e-02 2.6172574e-01 +1258 2.524 1.8748708e-02 2.5920492e-01 +1259 2.526 1.8232802e-02 2.5670424e-01 +1260 2.528 1.7721877e-02 2.5422354e-01 +1261 2.53 1.7215894e-02 2.5176267e-01 +1262 2.532 1.6714813e-02 2.4932148e-01 +1263 2.534 1.6218595e-02 2.4689983e-01 +1264 2.536 1.5727201e-02 2.4449757e-01 +1265 2.538 1.5240592e-02 2.4211456e-01 +1266 2.54 1.4758730e-02 2.3975065e-01 +1267 2.542 1.4281577e-02 2.3740570e-01 +1268 2.544 1.3809095e-02 2.3507956e-01 +1269 2.546 1.3341246e-02 2.3277210e-01 +1270 2.548 1.2877994e-02 2.3048319e-01 +1271 2.55 1.2419301e-02 2.2821267e-01 +1272 2.552 1.1965131e-02 2.2596041e-01 +1273 2.554 1.1515448e-02 2.2372627e-01 +1274 2.556 1.1070214e-02 2.2151013e-01 +1275 2.558 1.0629395e-02 2.1931184e-01 +1276 2.56 1.0192955e-02 2.1713127e-01 +1277 2.562 9.7608584e-03 2.1496829e-01 +1278 2.564 9.3330702e-03 2.1282277e-01 +1279 2.566 8.9095558e-03 2.1069457e-01 +1280 2.568 8.4902805e-03 2.0858356e-01 +1281 2.57 8.0752101e-03 2.0648963e-01 +1282 2.572 7.6643107e-03 2.0441263e-01 +1283 2.574 7.2575484e-03 2.0235245e-01 +1284 2.576 6.8548898e-03 2.0030895e-01 +1285 2.578 6.4563015e-03 1.9828201e-01 +1286 2.58 6.0617507e-03 1.9627151e-01 +1287 2.582 5.6712046e-03 1.9427733e-01 +1288 2.584 5.2846306e-03 1.9229933e-01 +1289 2.586 4.9019966e-03 1.9033740e-01 +1290 2.588 4.5232704e-03 1.8839142e-01 +1291 2.59 4.1484203e-03 1.8646127e-01 +1292 2.592 3.7774148e-03 1.8454683e-01 +1293 2.594 3.4102226e-03 1.8264799e-01 +1294 2.596 3.0468126e-03 1.8076461e-01 +1295 2.598 2.6871539e-03 1.7889660e-01 +1296 2.6 2.3312160e-03 1.7704382e-01 +1297 2.602 1.9789685e-03 1.7520618e-01 +1298 2.604 1.6303813e-03 1.7338355e-01 +1299 2.606 1.2854244e-03 1.7157582e-01 +1300 2.608 9.4406815e-04 1.6978288e-01 +1301 2.61 6.0628309e-04 1.6800462e-01 +1302 2.612 2.7203998e-04 1.6624092e-01 +1303 2.614 -5.8690223e-05 1.6449168e-01 +1304 2.616 -3.8593631e-04 1.6275679e-01 +1305 2.618 -7.0972687e-04 1.6103614e-01 +1306 2.62 -1.0300903e-03 1.5932962e-01 +1307 2.622 -1.3470547e-03 1.5763713e-01 +1308 2.624 -1.6606481e-03 1.5595856e-01 +1309 2.626 -1.9708981e-03 1.5429380e-01 +1310 2.628 -2.2778324e-03 1.5264275e-01 +1311 2.63 -2.5814782e-03 1.5100532e-01 +1312 2.632 -2.8818627e-03 1.4938138e-01 +1313 2.634 -3.1790127e-03 1.4777085e-01 +1314 2.636 -3.4729550e-03 1.4617362e-01 +1315 2.638 -3.7637160e-03 1.4458959e-01 +1316 2.64 -4.0513221e-03 1.4301866e-01 +1317 2.642 -4.3357993e-03 1.4146074e-01 +1318 2.644 -4.6171736e-03 1.3991571e-01 +1319 2.646 -4.8954707e-03 1.3838350e-01 +1320 2.648 -5.1707161e-03 1.3686399e-01 +1321 2.65 -5.4429351e-03 1.3535709e-01 +1322 2.652 -5.7121528e-03 1.3386271e-01 +1323 2.654 -5.9783942e-03 1.3238076e-01 +1324 2.656 -6.2416840e-03 1.3091113e-01 +1325 2.658 -6.5020469e-03 1.2945374e-01 +1326 2.66 -6.7595071e-03 1.2800848e-01 +1327 2.662 -7.0140889e-03 1.2657528e-01 +1328 2.664 -7.2658162e-03 1.2515404e-01 +1329 2.666 -7.5147129e-03 1.2374466e-01 +1330 2.668 -7.7608027e-03 1.2234706e-01 +1331 2.67 -8.0041090e-03 1.2096115e-01 +1332 2.672 -8.2446550e-03 1.1958684e-01 +1333 2.674 -8.4824640e-03 1.1822404e-01 +1334 2.676 -8.7175588e-03 1.1687267e-01 +1335 2.678 -8.9499622e-03 1.1553263e-01 +1336 2.68 -9.1796968e-03 1.1420384e-01 +1337 2.682 -9.4067850e-03 1.1288621e-01 +1338 2.684 -9.6312491e-03 1.1157967e-01 +1339 2.686 -9.8531110e-03 1.1028412e-01 +1340 2.688 -1.0072393e-02 1.0899949e-01 +1341 2.69 -1.0289116e-02 1.0772568e-01 +1342 2.692 -1.0503303e-02 1.0646262e-01 +1343 2.694 -1.0714974e-02 1.0521022e-01 +1344 2.696 -1.0924151e-02 1.0396841e-01 +1345 2.698 -1.1130854e-02 1.0273710e-01 +1346 2.7 -1.1335106e-02 1.0151621e-01 +1347 2.702 -1.1536926e-02 1.0030566e-01 +1348 2.704 -1.1736335e-02 9.9105378e-02 +1349 2.706 -1.1933354e-02 9.7915281e-02 +1350 2.708 -1.2128003e-02 9.6735292e-02 +1351 2.71 -1.2320302e-02 9.5565333e-02 +1352 2.712 -1.2510271e-02 9.4405328e-02 +1353 2.714 -1.2697930e-02 9.3255201e-02 +1354 2.716 -1.2883299e-02 9.2114875e-02 +1355 2.718 -1.3066396e-02 9.0984277e-02 +1356 2.72 -1.3247242e-02 8.9863331e-02 +1357 2.722 -1.3425856e-02 8.8751964e-02 +1358 2.724 -1.3602256e-02 8.7650102e-02 +1359 2.726 -1.3776463e-02 8.6557673e-02 +1360 2.728 -1.3948493e-02 8.5474604e-02 +1361 2.73 -1.4118367e-02 8.4400824e-02 +1362 2.732 -1.4286103e-02 8.3336261e-02 +1363 2.734 -1.4451718e-02 8.2280844e-02 +1364 2.736 -1.4615232e-02 8.1234504e-02 +1365 2.738 -1.4776662e-02 8.0197170e-02 +1366 2.74 -1.4936027e-02 7.9168774e-02 +1367 2.742 -1.5093343e-02 7.8149247e-02 +1368 2.744 -1.5248630e-02 7.7138520e-02 +1369 2.746 -1.5401903e-02 7.6136527e-02 +1370 2.748 -1.5553182e-02 7.5143199e-02 +1371 2.75 -1.5702482e-02 7.4158470e-02 +1372 2.752 -1.5849821e-02 7.3182275e-02 +1373 2.754 -1.5995217e-02 7.2214547e-02 +1374 2.756 -1.6138685e-02 7.1255221e-02 +1375 2.758 -1.6280243e-02 7.0304232e-02 +1376 2.76 -1.6419907e-02 6.9361517e-02 +1377 2.762 -1.6557695e-02 6.8427011e-02 +1378 2.764 -1.6693621e-02 6.7500650e-02 +1379 2.766 -1.6827702e-02 6.6582373e-02 +1380 2.768 -1.6959956e-02 6.5672117e-02 +1381 2.77 -1.7090396e-02 6.4769820e-02 +1382 2.772 -1.7219040e-02 6.3875420e-02 +1383 2.774 -1.7345903e-02 6.2988857e-02 +1384 2.776 -1.7471001e-02 6.2110069e-02 +1385 2.778 -1.7594349e-02 6.1238997e-02 +1386 2.78 -1.7715962e-02 6.0375581e-02 +1387 2.782 -1.7835856e-02 5.9519762e-02 +1388 2.784 -1.7954046e-02 5.8671480e-02 +1389 2.786 -1.8070547e-02 5.7830678e-02 +1390 2.788 -1.8185374e-02 5.6997298e-02 +1391 2.79 -1.8298541e-02 5.6171282e-02 +1392 2.792 -1.8410064e-02 5.5352573e-02 +1393 2.794 -1.8519956e-02 5.4541114e-02 +1394 2.796 -1.8628233e-02 5.3736849e-02 +1395 2.798 -1.8734908e-02 5.2939723e-02 +1396 2.8 -1.8839997e-02 5.2149679e-02 +1397 2.802 -1.8943512e-02 5.1366663e-02 +1398 2.804 -1.9045468e-02 5.0590620e-02 +1399 2.806 -1.9145879e-02 4.9821496e-02 +1400 2.808 -1.9244758e-02 4.9059237e-02 +1401 2.81 -1.9342120e-02 4.8303789e-02 +1402 2.812 -1.9437978e-02 4.7555101e-02 +1403 2.814 -1.9532345e-02 4.6813118e-02 +1404 2.816 -1.9625235e-02 4.6077789e-02 +1405 2.818 -1.9716661e-02 4.5349062e-02 +1406 2.82 -1.9806636e-02 4.4626886e-02 +1407 2.822 -1.9895173e-02 4.3911208e-02 +1408 2.824 -1.9982285e-02 4.3201980e-02 +1409 2.826 -2.0067985e-02 4.2499149e-02 +1410 2.828 -2.0152286e-02 4.1802667e-02 +1411 2.83 -2.0235200e-02 4.1112484e-02 +1412 2.832 -2.0316740e-02 4.0428550e-02 +1413 2.834 -2.0396918e-02 3.9750816e-02 +1414 2.836 -2.0475747e-02 3.9079235e-02 +1415 2.838 -2.0553239e-02 3.8413758e-02 +1416 2.84 -2.0629406e-02 3.7754336e-02 +1417 2.842 -2.0704260e-02 3.7100923e-02 +1418 2.844 -2.0777814e-02 3.6453472e-02 +1419 2.846 -2.0850078e-02 3.5811936e-02 +1420 2.848 -2.0921065e-02 3.5176268e-02 +1421 2.85 -2.0990787e-02 3.4546422e-02 +1422 2.852 -2.1059255e-02 3.3922353e-02 +1423 2.854 -2.1126480e-02 3.3304015e-02 +1424 2.856 -2.1192475e-02 3.2691363e-02 +1425 2.858 -2.1257250e-02 3.2084353e-02 +1426 2.86 -2.1320816e-02 3.1482940e-02 +1427 2.862 -2.1383185e-02 3.0887080e-02 +1428 2.864 -2.1444368e-02 3.0296730e-02 +1429 2.866 -2.1504376e-02 2.9711845e-02 +1430 2.868 -2.1563219e-02 2.9132384e-02 +1431 2.87 -2.1620909e-02 2.8558302e-02 +1432 2.872 -2.1677456e-02 2.7989558e-02 +1433 2.874 -2.1732870e-02 2.7426110e-02 +1434 2.876 -2.1787164e-02 2.6867915e-02 +1435 2.878 -2.1840346e-02 2.6314933e-02 +1436 2.88 -2.1892427e-02 2.5767121e-02 +1437 2.882 -2.1943417e-02 2.5224440e-02 +1438 2.884 -2.1993328e-02 2.4686849e-02 +1439 2.886 -2.2042168e-02 2.4154306e-02 +1440 2.888 -2.2089949e-02 2.3626773e-02 +1441 2.89 -2.2136679e-02 2.3104210e-02 +1442 2.892 -2.2182369e-02 2.2586577e-02 +1443 2.894 -2.2227028e-02 2.2073835e-02 +1444 2.896 -2.2270667e-02 2.1565945e-02 +1445 2.898 -2.2313295e-02 2.1062869e-02 +1446 2.9 -2.2354922e-02 2.0564569e-02 +1447 2.902 -2.2395557e-02 2.0071006e-02 +1448 2.904 -2.2435209e-02 1.9582144e-02 +1449 2.906 -2.2473888e-02 1.9097944e-02 +1450 2.908 -2.2511604e-02 1.8618369e-02 +1451 2.91 -2.2548365e-02 1.8143383e-02 +1452 2.912 -2.2584180e-02 1.7672949e-02 +1453 2.914 -2.2619060e-02 1.7207031e-02 +1454 2.916 -2.2653012e-02 1.6745592e-02 +1455 2.918 -2.2686045e-02 1.6288598e-02 +1456 2.92 -2.2718169e-02 1.5836012e-02 +1457 2.922 -2.2749392e-02 1.5387799e-02 +1458 2.924 -2.2779723e-02 1.4943925e-02 +1459 2.926 -2.2809171e-02 1.4504355e-02 +1460 2.928 -2.2837743e-02 1.4069053e-02 +1461 2.93 -2.2865450e-02 1.3637987e-02 +1462 2.932 -2.2892298e-02 1.3211122e-02 +1463 2.934 -2.2918297e-02 1.2788425e-02 +1464 2.936 -2.2943454e-02 1.2369861e-02 +1465 2.938 -2.2967779e-02 1.1955399e-02 +1466 2.94 -2.2991279e-02 1.1545004e-02 +1467 2.942 -2.3013962e-02 1.1138645e-02 +1468 2.944 -2.3035836e-02 1.0736288e-02 +1469 2.946 -2.3056910e-02 1.0337903e-02 +1470 2.948 -2.3077190e-02 9.9434556e-03 +1471 2.95 -2.3096686e-02 9.5529157e-03 +1472 2.952 -2.3115404e-02 9.1662513e-03 +1473 2.954 -2.3133354e-02 8.7834313e-03 +1474 2.956 -2.3150541e-02 8.4044245e-03 +1475 2.958 -2.3166974e-02 8.0292004e-03 +1476 2.96 -2.3182660e-02 7.6577282e-03 +1477 2.962 -2.3197607e-02 7.2899778e-03 +1478 2.964 -2.3211822e-02 6.9259190e-03 +1479 2.966 -2.3225313e-02 6.5655219e-03 +1480 2.968 -2.3238087e-02 6.2087570e-03 +1481 2.97 -2.3250151e-02 5.8555948e-03 +1482 2.972 -2.3261512e-02 5.5060062e-03 +1483 2.974 -2.3272177e-02 5.1599621e-03 +1484 2.976 -2.3282154e-02 4.8174338e-03 +1485 2.978 -2.3291449e-02 4.4783928e-03 +1486 2.98 -2.3300070e-02 4.1428107e-03 +1487 2.982 -2.3308023e-02 3.8106595e-03 +1488 2.984 -2.3315315e-02 3.4819112e-03 +1489 2.986 -2.3321953e-02 3.1565381e-03 +1490 2.988 -2.3327943e-02 2.8345128e-03 +1491 2.99 -2.3333293e-02 2.5158079e-03 +1492 2.992 -2.3338008e-02 2.2003965e-03 +1493 2.994 -2.3342097e-02 1.8882516e-03 +1494 2.996 -2.3345564e-02 1.5793465e-03 +1495 2.998 -2.3348416e-02 1.2736549e-03 +1496 3.0 -2.3350660e-02 9.7115039e-04 +1497 3.002 -2.3352303e-02 6.7180695e-04 +1498 3.004 -2.3353350e-02 3.7559871e-04 +1499 3.006 -2.3353807e-02 8.2499984e-05 +1500 3.008 -2.3353682e-02 -2.0751471e-04 +1501 3.01 -2.3352979e-02 -4.9447067e-04 +1502 3.012 -2.3351706e-02 -7.7839299e-04 +1503 3.014 -2.3349868e-02 -1.0593066e-03 +1504 3.016 -2.3347471e-02 -1.3372362e-03 +1505 3.018 -2.3344521e-02 -1.6122063e-03 +1506 3.02 -2.3341024e-02 -1.8842413e-03 +1507 3.022 -2.3336986e-02 -2.1533654e-03 +1508 3.024 -2.3332412e-02 -2.4196026e-03 +1509 3.026 -2.3327309e-02 -2.6829765e-03 +1510 3.028 -2.3321682e-02 -2.9435110e-03 +1511 3.03 -2.3315537e-02 -3.2012294e-03 +1512 3.032 -2.3308879e-02 -3.4561550e-03 +1513 3.034 -2.3301714e-02 -3.7083109e-03 +1514 3.036 -2.3294048e-02 -3.9577200e-03 +1515 3.038 -2.3285885e-02 -4.2044051e-03 +1516 3.04 -2.3277232e-02 -4.4483887e-03 +1517 3.042 -2.3268093e-02 -4.6896932e-03 +1518 3.044 -2.3258475e-02 -4.9283409e-03 +1519 3.046 -2.3248382e-02 -5.1643538e-03 +1520 3.048 -2.3237819e-02 -5.3977539e-03 +1521 3.05 -2.3226793e-02 -5.6285629e-03 +1522 3.052 -2.3215307e-02 -5.8568023e-03 +1523 3.054 -2.3203367e-02 -6.0824935e-03 +1524 3.056 -2.3190978e-02 -6.3056578e-03 +1525 3.058 -2.3178146e-02 -6.5263163e-03 +1526 3.06 -2.3164875e-02 -6.7444898e-03 +1527 3.062 -2.3151170e-02 -6.9601993e-03 +1528 3.064 -2.3137036e-02 -7.1734651e-03 +1529 3.066 -2.3122478e-02 -7.3843079e-03 +1530 3.068 -2.3107500e-02 -7.5927479e-03 +1531 3.07 -2.3092108e-02 -7.7988051e-03 +1532 3.072 -2.3076306e-02 -8.0024998e-03 +1533 3.074 -2.3060100e-02 -8.2038515e-03 +1534 3.076 -2.3043493e-02 -8.4028801e-03 +1535 3.078 -2.3026490e-02 -8.5996051e-03 +1536 3.08 -2.3009096e-02 -8.7940458e-03 +1537 3.082 -2.2991315e-02 -8.9862216e-03 +1538 3.084 -2.2973152e-02 -9.1761514e-03 +1539 3.086 -2.2954612e-02 -9.3638542e-03 +1540 3.088 -2.2935698e-02 -9.5493488e-03 +1541 3.09 -2.2916416e-02 -9.7326540e-03 +1542 3.092 -2.2896769e-02 -9.9137881e-03 +1543 3.094 -2.2876762e-02 -1.0092770e-02 +1544 3.096 -2.2856399e-02 -1.0269617e-02 +1545 3.098 -2.2835685e-02 -1.0444348e-02 +1546 3.1 -2.2814624e-02 -1.0616980e-02 +1547 3.102 -2.2793219e-02 -1.0787532e-02 +1548 3.104 -2.2771475e-02 -1.0956021e-02 +1549 3.106 -2.2749396e-02 -1.1122465e-02 +1550 3.108 -2.2726986e-02 -1.1286881e-02 +1551 3.11 -2.2704250e-02 -1.1449286e-02 +1552 3.112 -2.2681190e-02 -1.1609698e-02 +1553 3.114 -2.2657812e-02 -1.1768134e-02 +1554 3.116 -2.2634119e-02 -1.1924610e-02 +1555 3.118 -2.2610115e-02 -1.2079143e-02 +1556 3.12 -2.2585804e-02 -1.2231750e-02 +1557 3.122 -2.2561189e-02 -1.2382447e-02 +1558 3.124 -2.2536275e-02 -1.2531251e-02 +1559 3.126 -2.2511066e-02 -1.2678178e-02 +1560 3.128 -2.2485564e-02 -1.2823244e-02 +1561 3.13 -2.2459774e-02 -1.2966466e-02 +1562 3.132 -2.2433699e-02 -1.3107858e-02 +1563 3.134 -2.2407344e-02 -1.3247437e-02 +1564 3.136 -2.2380711e-02 -1.3385218e-02 +1565 3.138 -2.2353804e-02 -1.3521217e-02 +1566 3.14 -2.2326627e-02 -1.3655450e-02 +1567 3.142 -2.2299183e-02 -1.3787931e-02 +1568 3.144 -2.2271476e-02 -1.3918676e-02 +1569 3.146 -2.2243510e-02 -1.4047699e-02 +1570 3.148 -2.2215287e-02 -1.4175017e-02 +1571 3.15 -2.2186811e-02 -1.4300642e-02 +1572 3.152 -2.2158085e-02 -1.4424591e-02 +1573 3.154 -2.2129114e-02 -1.4546878e-02 +1574 3.156 -2.2099899e-02 -1.4667517e-02 +1575 3.158 -2.2070445e-02 -1.4786523e-02 +1576 3.16 -2.2040754e-02 -1.4903909e-02 +1577 3.162 -2.2010830e-02 -1.5019691e-02 +1578 3.164 -2.1980676e-02 -1.5133881e-02 +1579 3.166 -2.1950296e-02 -1.5246495e-02 +1580 3.168 -2.1919691e-02 -1.5357545e-02 +1581 3.17 -2.1888866e-02 -1.5467046e-02 +1582 3.172 -2.1857824e-02 -1.5575011e-02 +1583 3.174 -2.1826567e-02 -1.5681454e-02 +1584 3.176 -2.1795099e-02 -1.5786388e-02 +1585 3.178 -2.1763423e-02 -1.5889825e-02 +1586 3.18 -2.1731541e-02 -1.5991781e-02 +1587 3.182 -2.1699457e-02 -1.6092267e-02 +1588 3.184 -2.1667173e-02 -1.6191296e-02 +1589 3.186 -2.1634692e-02 -1.6288882e-02 +1590 3.188 -2.1602018e-02 -1.6385037e-02 +1591 3.19 -2.1569153e-02 -1.6479774e-02 +1592 3.192 -2.1536100e-02 -1.6573106e-02 +1593 3.194 -2.1502862e-02 -1.6665044e-02 +1594 3.196 -2.1469441e-02 -1.6755602e-02 +1595 3.198 -2.1435840e-02 -1.6844792e-02 +1596 3.2 -2.1402063e-02 -1.6932625e-02 +1597 3.202 -2.1368111e-02 -1.7019114e-02 +1598 3.204 -2.1333987e-02 -1.7104271e-02 +1599 3.206 -2.1299694e-02 -1.7188108e-02 +1600 3.208 -2.1265236e-02 -1.7270637e-02 +1601 3.21 -2.1230613e-02 -1.7351870e-02 +1602 3.212 -2.1195829e-02 -1.7431817e-02 +1603 3.214 -2.1160886e-02 -1.7510491e-02 +1604 3.216 -2.1125788e-02 -1.7587903e-02 +1605 3.218 -2.1090536e-02 -1.7664064e-02 +1606 3.22 -2.1055132e-02 -1.7738987e-02 +1607 3.222 -2.1019580e-02 -1.7812681e-02 +1608 3.224 -2.0983882e-02 -1.7885158e-02 +1609 3.226 -2.0948041e-02 -1.7956429e-02 +1610 3.228 -2.0912058e-02 -1.8026506e-02 +1611 3.23 -2.0875935e-02 -1.8095398e-02 +1612 3.232 -2.0839677e-02 -1.8163116e-02 +1613 3.234 -2.0803284e-02 -1.8229672e-02 +1614 3.236 -2.0766759e-02 -1.8295076e-02 +1615 3.238 -2.0730104e-02 -1.8359338e-02 +1616 3.24 -2.0693322e-02 -1.8422469e-02 +1617 3.242 -2.0656415e-02 -1.8484479e-02 +1618 3.244 -2.0619385e-02 -1.8545379e-02 +1619 3.246 -2.0582234e-02 -1.8605178e-02 +1620 3.248 -2.0544965e-02 -1.8663887e-02 +1621 3.25 -2.0507579e-02 -1.8721516e-02 +1622 3.252 -2.0470080e-02 -1.8778074e-02 +1623 3.254 -2.0432468e-02 -1.8833572e-02 +1624 3.256 -2.0394746e-02 -1.8888019e-02 +1625 3.258 -2.0356916e-02 -1.8941425e-02 +1626 3.26 -2.0318981e-02 -1.8993800e-02 +1627 3.262 -2.0280942e-02 -1.9045153e-02 +1628 3.264 -2.0242801e-02 -1.9095494e-02 +1629 3.266 -2.0204561e-02 -1.9144832e-02 +1630 3.268 -2.0166222e-02 -1.9193177e-02 +1631 3.27 -2.0127789e-02 -1.9240537e-02 +1632 3.272 -2.0089261e-02 -1.9286923e-02 +1633 3.274 -2.0050642e-02 -1.9332342e-02 +1634 3.276 -2.0011932e-02 -1.9376804e-02 +1635 3.278 -1.9973135e-02 -1.9420319e-02 +1636 3.28 -1.9934252e-02 -1.9462894e-02 +1637 3.282 -1.9895284e-02 -1.9504540e-02 +1638 3.284 -1.9856234e-02 -1.9545264e-02 +1639 3.286 -1.9817104e-02 -1.9585075e-02 +1640 3.288 -1.9777894e-02 -1.9623982e-02 +1641 3.29 -1.9738608e-02 -1.9661993e-02 +1642 3.292 -1.9699247e-02 -1.9699118e-02 +1643 3.294 -1.9659812e-02 -1.9735364e-02 +1644 3.296 -1.9620306e-02 -1.9770739e-02 +1645 3.298 -1.9580730e-02 -1.9805253e-02 +1646 3.3 -1.9541086e-02 -1.9838913e-02 +1647 3.302 -1.9501375e-02 -1.9871727e-02 +1648 3.304 -1.9461599e-02 -1.9903703e-02 +1649 3.306 -1.9421761e-02 -1.9934851e-02 +1650 3.308 -1.9381860e-02 -1.9965176e-02 +1651 3.31 -1.9341900e-02 -1.9994688e-02 +1652 3.312 -1.9301882e-02 -2.0023394e-02 +1653 3.314 -1.9261807e-02 -2.0051302e-02 +1654 3.316 -1.9221678e-02 -2.0078420e-02 +1655 3.318 -1.9181494e-02 -2.0104755e-02 +1656 3.32 -1.9141259e-02 -2.0130315e-02 +1657 3.322 -1.9100973e-02 -2.0155107e-02 +1658 3.324 -1.9060639e-02 -2.0179140e-02 +1659 3.326 -1.9020257e-02 -2.0202419e-02 +1660 3.328 -1.8979830e-02 -2.0224954e-02 +1661 3.33 -1.8939358e-02 -2.0246750e-02 +1662 3.332 -1.8898843e-02 -2.0267816e-02 +1663 3.334 -1.8858287e-02 -2.0288157e-02 +1664 3.336 -1.8817691e-02 -2.0307783e-02 +1665 3.338 -1.8777057e-02 -2.0326699e-02 +1666 3.34 -1.8736385e-02 -2.0344912e-02 +1667 3.342 -1.8695677e-02 -2.0362430e-02 +1668 3.344 -1.8654936e-02 -2.0379259e-02 +1669 3.346 -1.8614161e-02 -2.0395406e-02 +1670 3.348 -1.8573355e-02 -2.0410879e-02 +1671 3.35 -1.8532518e-02 -2.0425683e-02 +1672 3.352 -1.8491652e-02 -2.0439825e-02 +1673 3.354 -1.8450759e-02 -2.0453313e-02 +1674 3.356 -1.8409839e-02 -2.0466152e-02 +1675 3.358 -1.8368895e-02 -2.0478349e-02 +1676 3.36 -1.8327926e-02 -2.0489911e-02 +1677 3.362 -1.8286936e-02 -2.0500843e-02 +1678 3.364 -1.8245923e-02 -2.0511153e-02 +1679 3.366 -1.8204891e-02 -2.0520846e-02 +1680 3.368 -1.8163840e-02 -2.0529929e-02 +1681 3.37 -1.8122772e-02 -2.0538409e-02 +1682 3.372 -1.8081687e-02 -2.0546290e-02 +1683 3.374 -1.8040587e-02 -2.0553580e-02 +1684 3.376 -1.7999473e-02 -2.0560284e-02 +1685 3.378 -1.7958347e-02 -2.0566408e-02 +1686 3.38 -1.7917208e-02 -2.0571959e-02 +1687 3.382 -1.7876059e-02 -2.0576941e-02 +1688 3.384 -1.7834901e-02 -2.0581362e-02 +1689 3.386 -1.7793734e-02 -2.0585227e-02 +1690 3.388 -1.7752560e-02 -2.0588541e-02 +1691 3.39 -1.7711380e-02 -2.0591311e-02 +1692 3.392 -1.7670195e-02 -2.0593541e-02 +1693 3.394 -1.7629006e-02 -2.0595238e-02 +1694 3.396 -1.7587815e-02 -2.0596408e-02 +1695 3.398 -1.7546621e-02 -2.0597055e-02 +1696 3.4 -1.7505427e-02 -2.0597185e-02 +1697 3.402 -1.7464233e-02 -2.0596804e-02 +1698 3.404 -1.7423040e-02 -2.0595917e-02 +1699 3.406 -1.7381849e-02 -2.0594529e-02 +1700 3.408 -1.7340662e-02 -2.0592646e-02 +1701 3.41 -1.7299479e-02 -2.0590272e-02 +1702 3.412 -1.7258301e-02 -2.0587414e-02 +1703 3.414 -1.7217130e-02 -2.0584077e-02 +1704 3.416 -1.7175965e-02 -2.0580264e-02 +1705 3.418 -1.7134809e-02 -2.0575983e-02 +1706 3.42 -1.7093662e-02 -2.0571237e-02 +1707 3.422 -1.7052524e-02 -2.0566031e-02 +1708 3.424 -1.7011398e-02 -2.0560371e-02 +1709 3.426 -1.6970283e-02 -2.0554262e-02 +1710 3.428 -1.6929181e-02 -2.0547708e-02 +1711 3.43 -1.6888093e-02 -2.0540714e-02 +1712 3.432 -1.6847019e-02 -2.0533285e-02 +1713 3.434 -1.6805960e-02 -2.0525426e-02 +1714 3.436 -1.6764917e-02 -2.0517141e-02 +1715 3.438 -1.6723892e-02 -2.0508436e-02 +1716 3.44 -1.6682884e-02 -2.0499315e-02 +1717 3.442 -1.6641895e-02 -2.0489782e-02 +1718 3.444 -1.6600925e-02 -2.0479842e-02 +1719 3.446 -1.6559975e-02 -2.0469499e-02 +1720 3.448 -1.6519047e-02 -2.0458759e-02 +1721 3.45 -1.6478141e-02 -2.0447625e-02 +1722 3.452 -1.6437257e-02 -2.0436102e-02 +1723 3.454 -1.6396397e-02 -2.0424194e-02 +1724 3.456 -1.6355560e-02 -2.0411906e-02 +1725 3.458 -1.6314749e-02 -2.0399242e-02 +1726 3.46 -1.6273964e-02 -2.0386206e-02 +1727 3.462 -1.6233205e-02 -2.0372803e-02 +1728 3.464 -1.6192473e-02 -2.0359036e-02 +1729 3.466 -1.6151769e-02 -2.0344910e-02 +1730 3.468 -1.6111093e-02 -2.0330429e-02 +1731 3.47 -1.6070447e-02 -2.0315598e-02 +1732 3.472 -1.6029831e-02 -2.0300419e-02 +1733 3.474 -1.5989246e-02 -2.0284897e-02 +1734 3.476 -1.5948692e-02 -2.0269037e-02 +1735 3.478 -1.5908170e-02 -2.0252842e-02 +1736 3.48 -1.5867681e-02 -2.0236315e-02 +1737 3.482 -1.5827225e-02 -2.0219462e-02 +1738 3.484 -1.5786803e-02 -2.0202285e-02 +1739 3.486 -1.5746416e-02 -2.0184789e-02 +1740 3.488 -1.5706064e-02 -2.0166978e-02 +1741 3.49 -1.5665748e-02 -2.0148854e-02 +1742 3.492 -1.5625469e-02 -2.0130423e-02 +1743 3.494 -1.5585227e-02 -2.0111687e-02 +1744 3.496 -1.5545022e-02 -2.0092650e-02 +1745 3.498 -1.5504856e-02 -2.0073317e-02 +1746 3.5 -1.5464729e-02 -2.0053690e-02 +1747 3.502 -1.5424642e-02 -2.0033772e-02 +1748 3.504 -1.5384594e-02 -2.0013569e-02 +1749 3.506 -1.5344588e-02 -1.9993083e-02 +1750 3.508 -1.5304622e-02 -1.9972317e-02 +1751 3.51 -1.5264699e-02 -1.9951276e-02 +1752 3.512 -1.5224817e-02 -1.9929962e-02 +1753 3.514 -1.5184979e-02 -1.9908378e-02 +1754 3.516 -1.5145184e-02 -1.9886530e-02 +1755 3.518 -1.5105433e-02 -1.9864418e-02 +1756 3.52 -1.5065726e-02 -1.9842048e-02 +1757 3.522 -1.5026065e-02 -1.9819422e-02 +1758 3.524 -1.4986449e-02 -1.9796544e-02 +1759 3.526 -1.4946879e-02 -1.9773416e-02 +1760 3.528 -1.4907355e-02 -1.9750042e-02 +1761 3.53 -1.4867879e-02 -1.9726425e-02 +1762 3.532 -1.4828450e-02 -1.9702568e-02 +1763 3.534 -1.4789069e-02 -1.9678475e-02 +1764 3.536 -1.4749736e-02 -1.9654148e-02 +1765 3.538 -1.4710452e-02 -1.9629590e-02 +1766 3.54 -1.4671218e-02 -1.9604805e-02 +1767 3.542 -1.4632033e-02 -1.9579795e-02 +1768 3.544 -1.4592899e-02 -1.9554564e-02 +1769 3.546 -1.4553815e-02 -1.9529115e-02 +1770 3.548 -1.4514783e-02 -1.9503450e-02 +1771 3.55 -1.4475801e-02 -1.9477572e-02 +1772 3.552 -1.4436872e-02 -1.9451484e-02 +1773 3.554 -1.4397996e-02 -1.9425189e-02 +1774 3.556 -1.4359172e-02 -1.9398691e-02 +1775 3.558 -1.4320401e-02 -1.9371990e-02 +1776 3.56 -1.4281684e-02 -1.9345092e-02 +1777 3.562 -1.4243021e-02 -1.9317997e-02 +1778 3.564 -1.4204412e-02 -1.9290709e-02 +1779 3.566 -1.4165858e-02 -1.9263231e-02 +1780 3.568 -1.4127359e-02 -1.9235566e-02 +1781 3.57 -1.4088916e-02 -1.9207715e-02 +1782 3.572 -1.4050529e-02 -1.9179682e-02 +1783 3.574 -1.4012197e-02 -1.9151469e-02 +1784 3.576 -1.3973923e-02 -1.9123079e-02 +1785 3.578 -1.3935705e-02 -1.9094515e-02 +1786 3.58 -1.3897545e-02 -1.9065778e-02 +1787 3.582 -1.3859442e-02 -1.9036872e-02 +1788 3.584 -1.3821397e-02 -1.9007799e-02 +1789 3.586 -1.3783411e-02 -1.8978561e-02 +1790 3.588 -1.3745483e-02 -1.8949161e-02 +1791 3.59 -1.3707615e-02 -1.8919601e-02 +1792 3.592 -1.3669805e-02 -1.8889885e-02 +1793 3.594 -1.3632055e-02 -1.8860013e-02 +1794 3.596 -1.3594365e-02 -1.8829989e-02 +1795 3.598 -1.3556735e-02 -1.8799814e-02 +1796 3.6 -1.3519166e-02 -1.8769492e-02 +1797 3.602 -1.3481657e-02 -1.8739025e-02 +1798 3.604 -1.3444210e-02 -1.8708414e-02 +1799 3.606 -1.3406824e-02 -1.8677662e-02 +1800 3.608 -1.3369499e-02 -1.8646772e-02 +1801 3.61 -1.3332237e-02 -1.8615745e-02 +1802 3.612 -1.3295036e-02 -1.8584583e-02 +1803 3.614 -1.3257899e-02 -1.8553290e-02 +1804 3.616 -1.3220823e-02 -1.8521867e-02 +1805 3.618 -1.3183811e-02 -1.8490315e-02 +1806 3.62 -1.3146862e-02 -1.8458639e-02 +1807 3.622 -1.3109977e-02 -1.8426838e-02 +1808 3.624 -1.3073155e-02 -1.8394917e-02 +1809 3.626 -1.3036397e-02 -1.8362876e-02 +1810 3.628 -1.2999704e-02 -1.8330717e-02 +1811 3.63 -1.2963074e-02 -1.8298443e-02 +1812 3.632 -1.2926510e-02 -1.8266056e-02 +1813 3.634 -1.2890010e-02 -1.8233558e-02 +1814 3.636 -1.2853576e-02 -1.8200950e-02 +1815 3.638 -1.2817206e-02 -1.8168235e-02 +1816 3.64 -1.2780903e-02 -1.8135414e-02 +1817 3.642 -1.2744665e-02 -1.8102490e-02 +1818 3.644 -1.2708493e-02 -1.8069465e-02 +1819 3.646 -1.2672387e-02 -1.8036340e-02 +1820 3.648 -1.2636348e-02 -1.8003116e-02 +1821 3.65 -1.2600375e-02 -1.7969797e-02 +1822 3.652 -1.2564468e-02 -1.7936384e-02 +1823 3.654 -1.2528629e-02 -1.7902878e-02 +1824 3.656 -1.2492857e-02 -1.7869282e-02 +1825 3.658 -1.2457152e-02 -1.7835597e-02 +1826 3.66 -1.2421515e-02 -1.7801825e-02 +1827 3.662 -1.2385945e-02 -1.7767968e-02 +1828 3.664 -1.2350443e-02 -1.7734027e-02 +1829 3.666 -1.2315009e-02 -1.7700005e-02 +1830 3.668 -1.2279643e-02 -1.7665903e-02 +1831 3.67 -1.2244345e-02 -1.7631722e-02 +1832 3.672 -1.2209116e-02 -1.7597464e-02 +1833 3.674 -1.2173955e-02 -1.7563131e-02 +1834 3.676 -1.2138864e-02 -1.7528725e-02 +1835 3.678 -1.2103841e-02 -1.7494248e-02 +1836 3.68 -1.2068887e-02 -1.7459700e-02 +1837 3.682 -1.2034002e-02 -1.7425083e-02 +1838 3.684 -1.1999186e-02 -1.7390399e-02 +1839 3.686 -1.1964440e-02 -1.7355650e-02 +1840 3.688 -1.1929764e-02 -1.7320837e-02 +1841 3.69 -1.1895157e-02 -1.7285962e-02 +1842 3.692 -1.1860620e-02 -1.7251026e-02 +1843 3.694 -1.1826153e-02 -1.7216031e-02 +1844 3.696 -1.1791756e-02 -1.7180977e-02 +1845 3.698 -1.1757429e-02 -1.7145868e-02 +1846 3.7 -1.1723172e-02 -1.7110703e-02 +1847 3.702 -1.1688986e-02 -1.7075485e-02 +1848 3.704 -1.1654871e-02 -1.7040215e-02 +1849 3.706 -1.1620825e-02 -1.7004894e-02 +1850 3.708 -1.1586851e-02 -1.6969524e-02 +1851 3.71 -1.1552947e-02 -1.6934107e-02 +1852 3.712 -1.1519115e-02 -1.6898643e-02 +1853 3.714 -1.1485353e-02 -1.6863134e-02 +1854 3.716 -1.1451662e-02 -1.6827581e-02 +1855 3.718 -1.1418043e-02 -1.6791986e-02 +1856 3.72 -1.1384494e-02 -1.6756350e-02 +1857 3.722 -1.1351017e-02 -1.6720674e-02 +1858 3.724 -1.1317612e-02 -1.6684959e-02 +1859 3.726 -1.1284277e-02 -1.6649208e-02 +1860 3.728 -1.1251015e-02 -1.6613421e-02 +1861 3.73 -1.1217824e-02 -1.6577599e-02 +1862 3.732 -1.1184704e-02 -1.6541744e-02 +1863 3.734 -1.1151657e-02 -1.6505856e-02 +1864 3.736 -1.1118681e-02 -1.6469938e-02 +1865 3.738 -1.1085777e-02 -1.6433990e-02 +1866 3.74 -1.1052945e-02 -1.6398014e-02 +1867 3.742 -1.1020185e-02 -1.6362011e-02 +1868 3.744 -1.0987497e-02 -1.6325981e-02 +1869 3.746 -1.0954881e-02 -1.6289926e-02 +1870 3.748 -1.0922337e-02 -1.6253848e-02 +1871 3.75 -1.0889866e-02 -1.6217747e-02 +1872 3.752 -1.0857466e-02 -1.6181625e-02 +1873 3.754 -1.0825139e-02 -1.6145482e-02 +1874 3.756 -1.0792884e-02 -1.6109320e-02 +1875 3.758 -1.0760702e-02 -1.6073140e-02 +1876 3.76 -1.0728592e-02 -1.6036943e-02 +1877 3.762 -1.0696554e-02 -1.6000729e-02 +1878 3.764 -1.0664589e-02 -1.5964501e-02 +1879 3.766 -1.0632696e-02 -1.5928259e-02 +1880 3.768 -1.0600876e-02 -1.5892004e-02 +1881 3.77 -1.0569128e-02 -1.5855738e-02 +1882 3.772 -1.0537453e-02 -1.5819460e-02 +1883 3.774 -1.0505850e-02 -1.5783173e-02 +1884 3.776 -1.0474320e-02 -1.5746877e-02 +1885 3.778 -1.0442863e-02 -1.5710573e-02 +1886 3.78 -1.0411478e-02 -1.5674263e-02 +1887 3.782 -1.0380166e-02 -1.5637946e-02 +1888 3.784 -1.0348926e-02 -1.5601625e-02 +1889 3.786 -1.0317759e-02 -1.5565300e-02 +1890 3.788 -1.0286665e-02 -1.5528972e-02 +1891 3.79 -1.0255643e-02 -1.5492642e-02 +1892 3.792 -1.0224694e-02 -1.5456311e-02 +1893 3.794 -1.0193818e-02 -1.5419979e-02 +1894 3.796 -1.0163015e-02 -1.5383648e-02 +1895 3.798 -1.0132284e-02 -1.5347319e-02 +1896 3.8 -1.0101625e-02 -1.5310992e-02 +1897 3.802 -1.0071040e-02 -1.5274669e-02 +1898 3.804 -1.0040527e-02 -1.5238350e-02 +1899 3.806 -1.0010086e-02 -1.5202036e-02 +1900 3.808 -9.9797185e-03 -1.5165728e-02 +1901 3.81 -9.9494233e-03 -1.5129426e-02 +1902 3.812 -9.9192007e-03 -1.5093132e-02 +1903 3.814 -9.8890508e-03 -1.5056847e-02 +1904 3.816 -9.8589734e-03 -1.5020571e-02 +1905 3.818 -9.8289685e-03 -1.4984304e-02 +1906 3.82 -9.7990361e-03 -1.4948049e-02 +1907 3.822 -9.7691763e-03 -1.4911805e-02 +1908 3.824 -9.7393889e-03 -1.4875573e-02 +1909 3.826 -9.7096740e-03 -1.4839355e-02 +1910 3.828 -9.6800315e-03 -1.4803150e-02 +1911 3.83 -9.6504614e-03 -1.4766960e-02 +1912 3.832 -9.6209636e-03 -1.4730786e-02 +1913 3.834 -9.5915382e-03 -1.4694627e-02 +1914 3.836 -9.5621851e-03 -1.4658486e-02 +1915 3.838 -9.5329043e-03 -1.4622362e-02 +1916 3.84 -9.5036956e-03 -1.4586256e-02 +1917 3.842 -9.4745592e-03 -1.4550169e-02 +1918 3.844 -9.4454950e-03 -1.4514102e-02 +1919 3.846 -9.4165028e-03 -1.4478055e-02 +1920 3.848 -9.3875827e-03 -1.4442029e-02 +1921 3.85 -9.3587347e-03 -1.4406025e-02 +1922 3.852 -9.3299586e-03 -1.4370043e-02 +1923 3.854 -9.3012545e-03 -1.4334085e-02 +1924 3.856 -9.2726222e-03 -1.4298150e-02 +1925 3.858 -9.2440619e-03 -1.4262239e-02 +1926 3.86 -9.2155733e-03 -1.4226353e-02 +1927 3.862 -9.1871564e-03 -1.4190493e-02 +1928 3.864 -9.1588113e-03 -1.4154659e-02 +1929 3.866 -9.1305378e-03 -1.4118851e-02 +1930 3.868 -9.1023359e-03 -1.4083071e-02 +1931 3.87 -9.0742055e-03 -1.4047319e-02 +1932 3.872 -9.0461466e-03 -1.4011596e-02 +1933 3.874 -9.0181591e-03 -1.3975902e-02 +1934 3.876 -8.9902429e-03 -1.3940237e-02 +1935 3.878 -8.9623981e-03 -1.3904603e-02 +1936 3.88 -8.9346245e-03 -1.3869000e-02 +1937 3.882 -8.9069221e-03 -1.3833428e-02 +1938 3.884 -8.8792908e-03 -1.3797888e-02 +1939 3.886 -8.8517305e-03 -1.3762381e-02 +1940 3.888 -8.8242412e-03 -1.3726906e-02 +1941 3.89 -8.7968229e-03 -1.3691466e-02 +1942 3.892 -8.7694753e-03 -1.3656059e-02 +1943 3.894 -8.7421986e-03 -1.3620687e-02 +1944 3.896 -8.7149926e-03 -1.3585350e-02 +1945 3.898 -8.6878572e-03 -1.3550049e-02 +1946 3.9 -8.6607924e-03 -1.3514784e-02 +1947 3.902 -8.6337980e-03 -1.3479556e-02 +1948 3.904 -8.6068741e-03 -1.3444365e-02 +1949 3.906 -8.5800205e-03 -1.3409211e-02 +1950 3.908 -8.5532372e-03 -1.3374095e-02 +1951 3.91 -8.5265241e-03 -1.3339018e-02 +1952 3.912 -8.4998811e-03 -1.3303980e-02 +1953 3.914 -8.4733082e-03 -1.3268982e-02 +1954 3.916 -8.4468052e-03 -1.3234023e-02 +1955 3.918 -8.4203721e-03 -1.3199105e-02 +1956 3.92 -8.3940087e-03 -1.3164228e-02 +1957 3.922 -8.3677151e-03 -1.3129391e-02 +1958 3.924 -8.3414911e-03 -1.3094597e-02 +1959 3.926 -8.3153367e-03 -1.3059844e-02 +1960 3.928 -8.2892517e-03 -1.3025134e-02 +1961 3.93 -8.2632361e-03 -1.2990467e-02 +1962 3.932 -8.2372898e-03 -1.2955844e-02 +1963 3.934 -8.2114127e-03 -1.2921264e-02 +1964 3.936 -8.1856048e-03 -1.2886728e-02 +1965 3.938 -8.1598658e-03 -1.2852237e-02 +1966 3.94 -8.1341958e-03 -1.2817790e-02 +1967 3.942 -8.1085946e-03 -1.2783389e-02 +1968 3.944 -8.0830622e-03 -1.2749034e-02 +1969 3.946 -8.0575984e-03 -1.2714724e-02 +1970 3.948 -8.0322033e-03 -1.2680461e-02 +1971 3.95 -8.0068766e-03 -1.2646245e-02 +1972 3.952 -7.9816183e-03 -1.2612076e-02 +1973 3.954 -7.9564282e-03 -1.2577954e-02 +1974 3.956 -7.9313064e-03 -1.2543880e-02 +1975 3.958 -7.9062527e-03 -1.2509854e-02 +1976 3.96 -7.8812670e-03 -1.2475877e-02 +1977 3.962 -7.8563491e-03 -1.2441948e-02 +1978 3.964 -7.8314991e-03 -1.2408069e-02 +1979 3.966 -7.8067168e-03 -1.2374239e-02 +1980 3.968 -7.7820021e-03 -1.2340459e-02 +1981 3.97 -7.7573550e-03 -1.2306728e-02 +1982 3.972 -7.7327752e-03 -1.2273049e-02 +1983 3.974 -7.7082627e-03 -1.2239420e-02 +1984 3.976 -7.6838175e-03 -1.2205842e-02 +1985 3.978 -7.6594393e-03 -1.2172315e-02 +1986 3.98 -7.6351282e-03 -1.2138840e-02 +1987 3.982 -7.6108839e-03 -1.2105417e-02 +1988 3.984 -7.5867065e-03 -1.2072045e-02 +1989 3.986 -7.5625957e-03 -1.2038727e-02 +1990 3.988 -7.5385515e-03 -1.2005461e-02 +1991 3.99 -7.5145738e-03 -1.1972248e-02 +1992 3.992 -7.4906625e-03 -1.1939088e-02 +1993 3.994 -7.4668175e-03 -1.1905982e-02 +1994 3.996 -7.4430386e-03 -1.1872929e-02 +1995 3.998 -7.4193257e-03 -1.1839930e-02 +1996 4.0 -7.3956788e-03 -1.1806986e-02 +1997 4.002 -7.3720977e-03 -1.1774096e-02 +1998 4.004 -7.3485824e-03 -1.1741261e-02 +1999 4.006 -7.3251326e-03 -1.1708481e-02 +2000 4.008 -7.3017484e-03 -1.1675756e-02 +2001 4.01 -7.2784296e-03 -1.1643087e-02 +2002 4.012 -7.2551760e-03 -1.1610473e-02 +2003 4.014 -7.2319877e-03 -1.1577915e-02 +2004 4.016 -7.2088643e-03 -1.1545413e-02 +2005 4.018 -7.1858060e-03 -1.1512967e-02 +2006 4.02 -7.1628124e-03 -1.1480578e-02 +2007 4.022 -7.1398836e-03 -1.1448246e-02 +2008 4.024 -7.1170194e-03 -1.1415971e-02 +2009 4.026 -7.0942197e-03 -1.1383752e-02 +2010 4.028 -7.0714844e-03 -1.1351592e-02 +2011 4.03 -7.0488133e-03 -1.1319488e-02 +2012 4.032 -7.0262064e-03 -1.1287442e-02 +2013 4.034 -7.0036635e-03 -1.1255455e-02 +2014 4.036 -6.9811845e-03 -1.1223525e-02 +2015 4.038 -6.9587693e-03 -1.1191654e-02 +2016 4.04 -6.9364179e-03 -1.1159841e-02 +2017 4.042 -6.9141299e-03 -1.1128086e-02 +2018 4.044 -6.8919055e-03 -1.1096390e-02 +2019 4.046 -6.8697443e-03 -1.1064754e-02 +2020 4.048 -6.8476464e-03 -1.1033176e-02 +2021 4.05 -6.8256116e-03 -1.1001658e-02 +2022 4.052 -6.8036397e-03 -1.0970199e-02 +2023 4.054 -6.7817308e-03 -1.0938800e-02 +2024 4.056 -6.7598845e-03 -1.0907460e-02 +2025 4.058 -6.7381009e-03 -1.0876180e-02 +2026 4.06 -6.7163797e-03 -1.0844961e-02 +2027 4.062 -6.6947210e-03 -1.0813801e-02 +2028 4.064 -6.6731245e-03 -1.0782702e-02 +2029 4.066 -6.6515901e-03 -1.0751663e-02 +2030 4.068 -6.6301178e-03 -1.0720685e-02 +2031 4.07 -6.6087074e-03 -1.0689767e-02 +2032 4.072 -6.5873587e-03 -1.0658910e-02 +2033 4.074 -6.5660717e-03 -1.0628114e-02 +2034 4.076 -6.5448462e-03 -1.0597380e-02 +2035 4.078 -6.5236821e-03 -1.0566706e-02 +2036 4.08 -6.5025793e-03 -1.0536094e-02 +2037 4.082 -6.4815377e-03 -1.0505543e-02 +2038 4.084 -6.4605571e-03 -1.0475054e-02 +2039 4.086 -6.4396375e-03 -1.0444626e-02 +2040 4.088 -6.4187786e-03 -1.0414260e-02 +2041 4.09 -6.3979804e-03 -1.0383956e-02 +2042 4.092 -6.3772427e-03 -1.0353713e-02 +2043 4.094 -6.3565655e-03 -1.0323533e-02 +2044 4.096 -6.3359485e-03 -1.0293415e-02 +2045 4.098 -6.3153918e-03 -1.0263359e-02 +2046 4.1 -6.2948951e-03 -1.0233366e-02 +2047 4.102 -6.2744583e-03 -1.0203435e-02 +2048 4.104 -6.2540813e-03 -1.0173566e-02 +2049 4.106 -6.2337640e-03 -1.0143760e-02 +2050 4.108 -6.2135062e-03 -1.0114016e-02 +2051 4.11 -6.1933079e-03 -1.0084335e-02 +2052 4.112 -6.1731688e-03 -1.0054717e-02 +2053 4.114 -6.1530889e-03 -1.0025162e-02 +2054 4.116 -6.1330681e-03 -9.9956701e-03 +2055 4.118 -6.1131062e-03 -9.9662408e-03 +2056 4.12 -6.0932031e-03 -9.9368747e-03 +2057 4.122 -6.0733587e-03 -9.9075716e-03 +2058 4.124 -6.0535728e-03 -9.8783318e-03 +2059 4.126 -6.0338453e-03 -9.8491552e-03 +2060 4.128 -6.0141761e-03 -9.8200419e-03 +2061 4.13 -5.9945651e-03 -9.7909920e-03 +2062 4.132 -5.9750121e-03 -9.7620054e-03 +2063 4.134 -5.9555170e-03 -9.7330824e-03 +2064 4.136 -5.9360797e-03 -9.7042228e-03 +2065 4.138 -5.9167001e-03 -9.6754268e-03 +2066 4.14 -5.8973780e-03 -9.6466944e-03 +2067 4.142 -5.8781133e-03 -9.6180256e-03 +2068 4.144 -5.8589059e-03 -9.5894205e-03 +2069 4.146 -5.8397556e-03 -9.5608791e-03 +2070 4.148 -5.8206623e-03 -9.5324015e-03 +2071 4.15 -5.8016259e-03 -9.5039877e-03 +2072 4.152 -5.7826463e-03 -9.4756377e-03 +2073 4.154 -5.7637233e-03 -9.4473515e-03 +2074 4.156 -5.7448569e-03 -9.4191292e-03 +2075 4.158 -5.7260468e-03 -9.3909708e-03 +2076 4.16 -5.7072929e-03 -9.3628763e-03 +2077 4.162 -5.6885952e-03 -9.3348458e-03 +2078 4.164 -5.6699535e-03 -9.3068793e-03 +2079 4.166 -5.6513677e-03 -9.2789767e-03 +2080 4.168 -5.6328376e-03 -9.2511382e-03 +2081 4.17 -5.6143631e-03 -9.2233637e-03 +2082 4.172 -5.5959441e-03 -9.1956532e-03 +2083 4.174 -5.5775804e-03 -9.1680068e-03 +2084 4.176 -5.5592720e-03 -9.1404244e-03 +2085 4.178 -5.5410187e-03 -9.1129061e-03 +2086 4.18 -5.5228203e-03 -9.0854518e-03 +2087 4.182 -5.5046768e-03 -9.0580617e-03 +2088 4.184 -5.4865880e-03 -9.0307356e-03 +2089 4.186 -5.4685538e-03 -9.0034736e-03 +2090 4.188 -5.4505741e-03 -8.9762757e-03 +2091 4.19 -5.4326487e-03 -8.9491419e-03 +2092 4.192 -5.4147775e-03 -8.9220721e-03 +2093 4.194 -5.3969604e-03 -8.8950664e-03 +2094 4.196 -5.3791972e-03 -8.8681249e-03 +2095 4.198 -5.3614878e-03 -8.8412473e-03 +2096 4.2 -5.3438321e-03 -8.8144338e-03 +2097 4.202 -5.3262300e-03 -8.7876844e-03 +2098 4.204 -5.3086814e-03 -8.7609990e-03 +2099 4.206 -5.2911860e-03 -8.7343776e-03 +2100 4.208 -5.2737438e-03 -8.7078202e-03 +2101 4.21 -5.2563547e-03 -8.6813268e-03 +2102 4.212 -5.2390185e-03 -8.6548974e-03 +2103 4.214 -5.2217350e-03 -8.6285319e-03 +2104 4.216 -5.2045043e-03 -8.6022304e-03 +2105 4.218 -5.1873261e-03 -8.5759927e-03 +2106 4.22 -5.1702003e-03 -8.5498190e-03 +2107 4.222 -5.1531268e-03 -8.5237091e-03 +2108 4.224 -5.1361054e-03 -8.4976630e-03 +2109 4.226 -5.1191361e-03 -8.4716808e-03 +2110 4.228 -5.1022186e-03 -8.4457623e-03 +2111 4.23 -5.0853530e-03 -8.4199076e-03 +2112 4.232 -5.0685390e-03 -8.3941166e-03 +2113 4.234 -5.0517765e-03 -8.3683893e-03 +2114 4.236 -5.0350654e-03 -8.3427256e-03 +2115 4.238 -5.0184055e-03 -8.3171256e-03 +2116 4.24 -5.0017968e-03 -8.2915891e-03 +2117 4.242 -4.9852391e-03 -8.2661162e-03 +2118 4.244 -4.9687323e-03 -8.2407067e-03 +2119 4.246 -4.9522762e-03 -8.2153608e-03 +2120 4.248 -4.9358708e-03 -8.1900783e-03 +2121 4.25 -4.9195159e-03 -8.1648591e-03 +2122 4.252 -4.9032113e-03 -8.1397033e-03 +2123 4.254 -4.8869570e-03 -8.1146109e-03 +2124 4.256 -4.8707529e-03 -8.0895816e-03 +2125 4.258 -4.8545987e-03 -8.0646156e-03 +2126 4.26 -4.8384943e-03 -8.0397127e-03 +2127 4.262 -4.8224398e-03 -8.0148729e-03 +2128 4.264 -4.8064348e-03 -7.9900962e-03 +2129 4.266 -4.7904793e-03 -7.9653825e-03 +2130 4.268 -4.7745732e-03 -7.9407318e-03 +2131 4.27 -4.7587164e-03 -7.9161440e-03 +2132 4.272 -4.7429086e-03 -7.8916190e-03 +2133 4.274 -4.7271499e-03 -7.8671568e-03 +2134 4.276 -4.7114400e-03 -7.8427574e-03 +2135 4.278 -4.6957788e-03 -7.8184206e-03 +2136 4.28 -4.6801662e-03 -7.7941465e-03 +2137 4.282 -4.6646022e-03 -7.7699350e-03 +2138 4.284 -4.6490865e-03 -7.7457859e-03 +2139 4.286 -4.6336190e-03 -7.7216994e-03 +2140 4.288 -4.6181996e-03 -7.6976752e-03 +2141 4.29 -4.6028282e-03 -7.6737133e-03 +2142 4.292 -4.5875047e-03 -7.6498137e-03 +2143 4.294 -4.5722289e-03 -7.6259763e-03 +2144 4.296 -4.5570008e-03 -7.6022011e-03 +2145 4.298 -4.5418201e-03 -7.5784879e-03 +2146 4.3 -4.5266868e-03 -7.5548367e-03 +2147 4.302 -4.5116007e-03 -7.5312475e-03 +2148 4.304 -4.4965617e-03 -7.5077201e-03 +2149 4.306 -4.4815698e-03 -7.4842546e-03 +2150 4.308 -4.4666247e-03 -7.4608507e-03 +2151 4.31 -4.4517263e-03 -7.4375086e-03 +2152 4.312 -4.4368746e-03 -7.4142280e-03 +2153 4.314 -4.4220694e-03 -7.3910089e-03 +2154 4.316 -4.4073105e-03 -7.3678513e-03 +2155 4.318 -4.3925979e-03 -7.3447551e-03 +2156 4.32 -4.3779315e-03 -7.3217201e-03 +2157 4.322 -4.3633110e-03 -7.2987464e-03 +2158 4.324 -4.3487364e-03 -7.2758338e-03 +2159 4.326 -4.3342076e-03 -7.2529823e-03 +2160 4.328 -4.3197245e-03 -7.2301918e-03 +2161 4.33 -4.3052868e-03 -7.2074622e-03 +2162 4.332 -4.2908946e-03 -7.1847935e-03 +2163 4.334 -4.2765476e-03 -7.1621855e-03 +2164 4.336 -4.2622458e-03 -7.1396382e-03 +2165 4.338 -4.2479890e-03 -7.1171514e-03 +2166 4.34 -4.2337772e-03 -7.0947252e-03 +2167 4.342 -4.2196101e-03 -7.0723595e-03 +2168 4.344 -4.2054877e-03 -7.0500540e-03 +2169 4.346 -4.1914098e-03 -7.0278089e-03 +2170 4.348 -4.1773764e-03 -7.0056239e-03 +2171 4.35 -4.1633873e-03 -6.9834991e-03 +2172 4.352 -4.1494424e-03 -6.9614342e-03 +2173 4.354 -4.1355415e-03 -6.9394293e-03 +2174 4.356 -4.1216846e-03 -6.9174842e-03 +2175 4.358 -4.1078715e-03 -6.8955989e-03 +2176 4.36 -4.0941022e-03 -6.8737733e-03 +2177 4.362 -4.0803764e-03 -6.8520072e-03 +2178 4.364 -4.0666941e-03 -6.8303006e-03 +2179 4.366 -4.0530552e-03 -6.8086535e-03 +2180 4.368 -4.0394595e-03 -6.7870656e-03 +2181 4.37 -4.0259069e-03 -6.7655370e-03 +2182 4.372 -4.0123973e-03 -6.7440675e-03 +2183 4.374 -3.9989306e-03 -6.7226571e-03 +2184 4.376 -3.9855066e-03 -6.7013056e-03 +2185 4.378 -3.9721253e-03 -6.6800130e-03 +2186 4.38 -3.9587865e-03 -6.6587791e-03 +2187 4.382 -3.9454901e-03 -6.6376039e-03 +2188 4.384 -3.9322361e-03 -6.6164873e-03 +2189 4.386 -3.9190241e-03 -6.5954292e-03 +2190 4.388 -3.9058543e-03 -6.5744295e-03 +2191 4.39 -3.8927264e-03 -6.5534881e-03 +2192 4.392 -3.8796403e-03 -6.5326049e-03 +2193 4.394 -3.8665959e-03 -6.5117798e-03 +2194 4.396 -3.8535931e-03 -6.4910127e-03 +2195 4.398 -3.8406318e-03 -6.4703035e-03 +2196 4.4 -3.8277119e-03 -6.4496522e-03 +2197 4.402 -3.8148332e-03 -6.4290585e-03 +2198 4.404 -3.8019956e-03 -6.4085225e-03 +2199 4.406 -3.7891991e-03 -6.3880440e-03 +2200 4.408 -3.7764434e-03 -6.3676230e-03 +2201 4.41 -3.7637285e-03 -6.3472592e-03 +2202 4.412 -3.7510543e-03 -6.3269527e-03 +2203 4.414 -3.7384207e-03 -6.3067033e-03 +2204 4.416 -3.7258275e-03 -6.2865110e-03 +2205 4.418 -3.7132746e-03 -6.2663756e-03 +2206 4.42 -3.7007619e-03 -6.2462970e-03 +2207 4.422 -3.6882894e-03 -6.2262751e-03 +2208 4.424 -3.6758568e-03 -6.2063099e-03 +2209 4.426 -3.6634641e-03 -6.1864012e-03 +2210 4.428 -3.6511112e-03 -6.1665489e-03 +2211 4.43 -3.6387979e-03 -6.1467529e-03 +2212 4.432 -3.6265241e-03 -6.1270131e-03 +2213 4.434 -3.6142898e-03 -6.1073295e-03 +2214 4.436 -3.6020948e-03 -6.0877018e-03 +2215 4.438 -3.5899389e-03 -6.0681301e-03 +2216 4.44 -3.5778222e-03 -6.0486142e-03 +2217 4.442 -3.5657444e-03 -6.0291539e-03 +2218 4.444 -3.5537055e-03 -6.0097493e-03 +2219 4.446 -3.5417054e-03 -5.9904001e-03 +2220 4.448 -3.5297439e-03 -5.9711063e-03 +2221 4.45 -3.5178209e-03 -5.9518678e-03 +2222 4.452 -3.5059364e-03 -5.9326845e-03 +2223 4.454 -3.4940902e-03 -5.9135563e-03 +2224 4.456 -3.4822821e-03 -5.8944830e-03 +2225 4.458 -3.4705122e-03 -5.8754645e-03 +2226 4.46 -3.4587802e-03 -5.8565008e-03 +2227 4.462 -3.4470862e-03 -5.8375918e-03 +2228 4.464 -3.4354298e-03 -5.8187372e-03 +2229 4.466 -3.4238112e-03 -5.7999371e-03 +2230 4.468 -3.4122301e-03 -5.7811914e-03 +2231 4.47 -3.4006864e-03 -5.7624998e-03 +2232 4.472 -3.3891800e-03 -5.7438623e-03 +2233 4.474 -3.3777109e-03 -5.7252788e-03 +2234 4.476 -3.3662789e-03 -5.7067493e-03 +2235 4.478 -3.3548839e-03 -5.6882735e-03 +2236 4.48 -3.3435257e-03 -5.6698513e-03 +2237 4.482 -3.3322044e-03 -5.6514827e-03 +2238 4.484 -3.3209198e-03 -5.6331676e-03 +2239 4.486 -3.3096717e-03 -5.6149058e-03 +2240 4.488 -3.2984601e-03 -5.5966973e-03 +2241 4.49 -3.2872849e-03 -5.5785418e-03 +2242 4.492 -3.2761459e-03 -5.5604394e-03 +2243 4.494 -3.2650431e-03 -5.5423899e-03 +2244 4.496 -3.2539763e-03 -5.5243932e-03 +2245 4.498 -3.2429455e-03 -5.5064491e-03 +2246 4.5 -3.2319505e-03 -5.4885577e-03 +2247 4.502 -3.2209912e-03 -5.4707187e-03 +2248 4.504 -3.2100676e-03 -5.4529320e-03 +2249 4.506 -3.1991795e-03 -5.4351976e-03 +2250 4.508 -3.1883268e-03 -5.4175153e-03 +2251 4.51 -3.1775094e-03 -5.3998851e-03 +2252 4.512 -3.1667272e-03 -5.3823067e-03 +2253 4.514 -3.1559801e-03 -5.3647801e-03 +2254 4.516 -3.1452680e-03 -5.3473053e-03 +2255 4.518 -3.1345908e-03 -5.3298820e-03 +2256 4.52 -3.1239485e-03 -5.3125101e-03 +2257 4.522 -3.1133408e-03 -5.2951896e-03 +2258 4.524 -3.1027677e-03 -5.2779204e-03 +2259 4.526 -3.0922291e-03 -5.2607023e-03 +2260 4.528 -3.0817248e-03 -5.2435351e-03 +2261 4.53 -3.0712549e-03 -5.2264189e-03 +2262 4.532 -3.0608191e-03 -5.2093535e-03 +2263 4.534 -3.0504174e-03 -5.1923388e-03 +2264 4.536 -3.0400497e-03 -5.1753746e-03 +2265 4.538 -3.0297159e-03 -5.1584609e-03 +2266 4.54 -3.0194158e-03 -5.1415975e-03 +2267 4.542 -3.0091495e-03 -5.1247844e-03 +2268 4.544 -2.9989167e-03 -5.1080214e-03 +2269 4.546 -2.9887174e-03 -5.0913083e-03 +2270 4.548 -2.9785514e-03 -5.0746452e-03 +2271 4.55 -2.9684187e-03 -5.0580318e-03 +2272 4.552 -2.9583193e-03 -5.0414682e-03 +2273 4.554 -2.9482528e-03 -5.0249540e-03 +2274 4.556 -2.9382194e-03 -5.0084893e-03 +2275 4.558 -2.9282188e-03 -4.9920740e-03 +2276 4.56 -2.9182511e-03 -4.9757078e-03 +2277 4.562 -2.9083160e-03 -4.9593908e-03 +2278 4.564 -2.8984135e-03 -4.9431227e-03 +2279 4.566 -2.8885435e-03 -4.9269035e-03 +2280 4.568 -2.8787058e-03 -4.9107331e-03 +2281 4.57 -2.8689005e-03 -4.8946113e-03 +2282 4.572 -2.8591274e-03 -4.8785381e-03 +2283 4.574 -2.8493863e-03 -4.8625133e-03 +2284 4.576 -2.8396773e-03 -4.8465368e-03 +2285 4.578 -2.8300001e-03 -4.8306085e-03 +2286 4.58 -2.8203548e-03 -4.8147283e-03 +2287 4.582 -2.8107412e-03 -4.7988960e-03 +2288 4.584 -2.8011592e-03 -4.7831116e-03 +2289 4.586 -2.7916087e-03 -4.7673750e-03 +2290 4.588 -2.7820897e-03 -4.7516860e-03 +2291 4.59 -2.7726019e-03 -4.7360445e-03 +2292 4.592 -2.7631454e-03 -4.7204504e-03 +2293 4.594 -2.7537201e-03 -4.7049036e-03 +2294 4.596 -2.7443258e-03 -4.6894040e-03 +2295 4.598 -2.7349625e-03 -4.6739515e-03 +2296 4.6 -2.7256300e-03 -4.6585459e-03 +2297 4.602 -2.7163282e-03 -4.6431872e-03 +2298 4.604 -2.7070572e-03 -4.6278751e-03 +2299 4.606 -2.6978167e-03 -4.6126097e-03 +2300 4.608 -2.6886067e-03 -4.5973909e-03 +2301 4.61 -2.6794271e-03 -4.5822184e-03 +2302 4.612 -2.6702778e-03 -4.5670921e-03 +2303 4.614 -2.6611587e-03 -4.5520121e-03 +2304 4.616 -2.6520697e-03 -4.5369781e-03 +2305 4.618 -2.6430108e-03 -4.5219900e-03 +2306 4.62 -2.6339817e-03 -4.5070478e-03 +2307 4.622 -2.6249825e-03 -4.4921512e-03 +2308 4.624 -2.6160131e-03 -4.4773003e-03 +2309 4.626 -2.6070733e-03 -4.4624949e-03 +2310 4.628 -2.5981631e-03 -4.4477348e-03 +2311 4.63 -2.5892823e-03 -4.4330201e-03 +2312 4.632 -2.5804310e-03 -4.4183504e-03 +2313 4.634 -2.5716089e-03 -4.4037258e-03 +2314 4.636 -2.5628160e-03 -4.3891462e-03 +2315 4.638 -2.5540523e-03 -4.3746113e-03 +2316 4.64 -2.5453176e-03 -4.3601212e-03 +2317 4.642 -2.5366118e-03 -4.3456756e-03 +2318 4.644 -2.5279348e-03 -4.3312746e-03 +2319 4.646 -2.5192867e-03 -4.3169179e-03 +2320 4.648 -2.5106671e-03 -4.3026054e-03 +2321 4.65 -2.5020762e-03 -4.2883372e-03 +2322 4.652 -2.4935138e-03 -4.2741129e-03 +2323 4.654 -2.4849797e-03 -4.2599326e-03 +2324 4.656 -2.4764740e-03 -4.2457961e-03 +2325 4.658 -2.4679965e-03 -4.2317032e-03 +2326 4.66 -2.4595472e-03 -4.2176540e-03 +2327 4.662 -2.4511259e-03 -4.2036483e-03 +2328 4.664 -2.4427325e-03 -4.1896859e-03 +2329 4.666 -2.4343671e-03 -4.1757668e-03 +2330 4.668 -2.4260294e-03 -4.1618908e-03 +2331 4.67 -2.4177195e-03 -4.1480578e-03 +2332 4.672 -2.4094372e-03 -4.1342678e-03 +2333 4.674 -2.4011824e-03 -4.1205206e-03 +2334 4.676 -2.3929551e-03 -4.1068161e-03 +2335 4.678 -2.3847551e-03 -4.0931542e-03 +2336 4.68 -2.3765824e-03 -4.0795348e-03 +2337 4.682 -2.3684369e-03 -4.0659578e-03 +2338 4.684 -2.3603186e-03 -4.0524230e-03 +2339 4.686 -2.3522272e-03 -4.0389304e-03 +2340 4.688 -2.3441628e-03 -4.0254798e-03 +2341 4.69 -2.3361253e-03 -4.0120711e-03 +2342 4.692 -2.3281145e-03 -3.9987043e-03 +2343 4.694 -2.3201304e-03 -3.9853792e-03 +2344 4.696 -2.3121730e-03 -3.9720957e-03 +2345 4.698 -2.3042420e-03 -3.9588537e-03 +2346 4.7 -2.2963375e-03 -3.9456531e-03 +2347 4.702 -2.2884594e-03 -3.9324937e-03 +2348 4.704 -2.2806075e-03 -3.9193756e-03 +2349 4.706 -2.2727819e-03 -3.9062985e-03 +2350 4.708 -2.2649823e-03 -3.8932623e-03 +2351 4.71 -2.2572088e-03 -3.8802670e-03 +2352 4.712 -2.2494612e-03 -3.8673125e-03 +2353 4.714 -2.2417395e-03 -3.8543985e-03 +2354 4.716 -2.2340436e-03 -3.8415251e-03 +2355 4.718 -2.2263734e-03 -3.8286921e-03 +2356 4.72 -2.2187288e-03 -3.8158994e-03 +2357 4.722 -2.2111097e-03 -3.8031469e-03 +2358 4.724 -2.2035162e-03 -3.7904345e-03 +2359 4.726 -2.1959480e-03 -3.7777621e-03 +2360 4.728 -2.1884051e-03 -3.7651295e-03 +2361 4.73 -2.1808874e-03 -3.7525368e-03 +2362 4.732 -2.1733949e-03 -3.7399836e-03 +2363 4.734 -2.1659275e-03 -3.7274701e-03 +2364 4.736 -2.1584850e-03 -3.7149960e-03 +2365 4.738 -2.1510675e-03 -3.7025612e-03 +2366 4.74 -2.1436747e-03 -3.6901657e-03 +2367 4.742 -2.1363068e-03 -3.6778092e-03 +2368 4.744 -2.1289635e-03 -3.6654919e-03 +2369 4.746 -2.1216448e-03 -3.6532134e-03 +2370 4.748 -2.1143506e-03 -3.6409737e-03 +2371 4.75 -2.1070809e-03 -3.6287728e-03 +2372 4.752 -2.0998355e-03 -3.6166105e-03 +2373 4.754 -2.0926144e-03 -3.6044866e-03 +2374 4.756 -2.0854175e-03 -3.5924012e-03 +2375 4.758 -2.0782448e-03 -3.5803540e-03 +2376 4.76 -2.0710961e-03 -3.5683450e-03 +2377 4.762 -2.0639714e-03 -3.5563741e-03 +2378 4.764 -2.0568705e-03 -3.5444411e-03 +2379 4.766 -2.0497936e-03 -3.5325461e-03 +2380 4.768 -2.0427403e-03 -3.5206888e-03 +2381 4.77 -2.0357108e-03 -3.5088691e-03 +2382 4.772 -2.0287048e-03 -3.4970870e-03 +2383 4.774 -2.0217224e-03 -3.4853424e-03 +2384 4.776 -2.0147634e-03 -3.4736351e-03 +2385 4.778 -2.0078279e-03 -3.4619650e-03 +2386 4.78 -2.0009156e-03 -3.4503321e-03 +2387 4.782 -1.9940265e-03 -3.4387362e-03 +2388 4.784 -1.9871606e-03 -3.4271773e-03 +2389 4.786 -1.9803178e-03 -3.4156552e-03 +2390 4.788 -1.9734979e-03 -3.4041699e-03 +2391 4.79 -1.9667011e-03 -3.3927211e-03 +2392 4.792 -1.9599270e-03 -3.3813089e-03 +2393 4.794 -1.9531758e-03 -3.3699331e-03 +2394 4.796 -1.9464473e-03 -3.3585937e-03 +2395 4.798 -1.9397414e-03 -3.3472904e-03 +2396 4.8 -1.9330581e-03 -3.3360233e-03 +2397 4.802 -1.9263973e-03 -3.3247922e-03 +2398 4.804 -1.9197589e-03 -3.3135970e-03 +2399 4.806 -1.9131429e-03 -3.3024376e-03 +2400 4.808 -1.9065491e-03 -3.2913140e-03 +2401 4.81 -1.8999776e-03 -3.2802259e-03 +2402 4.812 -1.8934282e-03 -3.2691734e-03 +2403 4.814 -1.8869009e-03 -3.2581563e-03 +2404 4.816 -1.8803956e-03 -3.2471745e-03 +2405 4.818 -1.8739122e-03 -3.2362279e-03 +2406 4.82 -1.8674506e-03 -3.2253165e-03 +2407 4.822 -1.8610109e-03 -3.2144400e-03 +2408 4.824 -1.8545928e-03 -3.2035985e-03 +2409 4.826 -1.8481964e-03 -3.1927918e-03 +2410 4.828 -1.8418216e-03 -3.1820198e-03 +2411 4.83 -1.8354683e-03 -3.1712824e-03 +2412 4.832 -1.8291365e-03 -3.1605795e-03 +2413 4.834 -1.8228260e-03 -3.1499111e-03 +2414 4.836 -1.8165368e-03 -3.1392770e-03 +2415 4.838 -1.8102689e-03 -3.1286771e-03 +2416 4.84 -1.8040221e-03 -3.1181113e-03 +2417 4.842 -1.7977964e-03 -3.1075796e-03 +2418 4.844 -1.7915917e-03 -3.0970818e-03 +2419 4.846 -1.7854081e-03 -3.0866178e-03 +2420 4.848 -1.7792453e-03 -3.0761876e-03 +2421 4.85 -1.7731033e-03 -3.0657910e-03 +2422 4.852 -1.7669821e-03 -3.0554280e-03 +2423 4.854 -1.7608815e-03 -3.0450984e-03 +2424 4.856 -1.7548017e-03 -3.0348022e-03 +2425 4.858 -1.7487423e-03 -3.0245392e-03 +2426 4.86 -1.7427035e-03 -3.0143094e-03 +2427 4.862 -1.7366851e-03 -3.0041126e-03 +2428 4.864 -1.7306870e-03 -2.9939488e-03 +2429 4.866 -1.7247092e-03 -2.9838179e-03 +2430 4.868 -1.7187517e-03 -2.9737197e-03 +2431 4.87 -1.7128143e-03 -2.9636543e-03 +2432 4.872 -1.7068971e-03 -2.9536214e-03 +2433 4.874 -1.7009998e-03 -2.9436210e-03 +2434 4.876 -1.6951226e-03 -2.9336531e-03 +2435 4.878 -1.6892652e-03 -2.9237174e-03 +2436 4.88 -1.6834277e-03 -2.9138139e-03 +2437 4.882 -1.6776099e-03 -2.9039426e-03 +2438 4.884 -1.6718119e-03 -2.8941032e-03 +2439 4.886 -1.6660335e-03 -2.8842958e-03 +2440 4.888 -1.6602747e-03 -2.8745203e-03 +2441 4.89 -1.6545354e-03 -2.8647764e-03 +2442 4.892 -1.6488156e-03 -2.8550643e-03 +2443 4.894 -1.6431151e-03 -2.8453837e-03 +2444 4.896 -1.6374340e-03 -2.8357345e-03 +2445 4.898 -1.6317721e-03 -2.8261167e-03 +2446 4.9 -1.6261295e-03 -2.8165302e-03 +2447 4.902 -1.6205060e-03 -2.8069749e-03 +2448 4.904 -1.6149016e-03 -2.7974507e-03 +2449 4.906 -1.6093162e-03 -2.7879575e-03 +2450 4.908 -1.6037497e-03 -2.7784952e-03 +2451 4.91 -1.5982022e-03 -2.7690637e-03 +2452 4.912 -1.5926735e-03 -2.7596630e-03 +2453 4.914 -1.5871635e-03 -2.7502929e-03 +2454 4.916 -1.5816723e-03 -2.7409533e-03 +2455 4.918 -1.5761997e-03 -2.7316442e-03 +2456 4.92 -1.5707457e-03 -2.7223655e-03 +2457 4.922 -1.5653102e-03 -2.7131170e-03 +2458 4.924 -1.5598932e-03 -2.7038988e-03 +2459 4.926 -1.5544946e-03 -2.6947106e-03 +2460 4.928 -1.5491143e-03 -2.6855525e-03 +2461 4.93 -1.5437523e-03 -2.6764243e-03 +2462 4.932 -1.5384086e-03 -2.6673259e-03 +2463 4.934 -1.5330830e-03 -2.6582572e-03 +2464 4.936 -1.5277756e-03 -2.6492182e-03 +2465 4.938 -1.5224861e-03 -2.6402088e-03 +2466 4.94 -1.5172147e-03 -2.6312288e-03 +2467 4.942 -1.5119612e-03 -2.6222783e-03 +2468 4.944 -1.5067256e-03 -2.6133570e-03 +2469 4.946 -1.5015078e-03 -2.6044650e-03 +2470 4.948 -1.4963077e-03 -2.5956021e-03 +2471 4.95 -1.4911253e-03 -2.5867682e-03 +2472 4.952 -1.4859606e-03 -2.5779633e-03 +2473 4.954 -1.4808135e-03 -2.5691872e-03 +2474 4.956 -1.4756838e-03 -2.5604399e-03 +2475 4.958 -1.4705717e-03 -2.5517213e-03 +2476 4.96 -1.4654769e-03 -2.5430314e-03 +2477 4.962 -1.4603995e-03 -2.5343699e-03 +2478 4.964 -1.4553394e-03 -2.5257369e-03 +2479 4.966 -1.4502966e-03 -2.5171322e-03 +2480 4.968 -1.4452709e-03 -2.5085558e-03 +2481 4.97 -1.4402623e-03 -2.5000076e-03 +2482 4.972 -1.4352708e-03 -2.4914875e-03 +2483 4.974 -1.4302964e-03 -2.4829953e-03 +2484 4.976 -1.4253388e-03 -2.4745311e-03 +2485 4.978 -1.4203982e-03 -2.4660948e-03 +2486 4.98 -1.4154744e-03 -2.4576862e-03 +2487 4.982 -1.4105674e-03 -2.4493052e-03 +2488 4.984 -1.4056772e-03 -2.4409519e-03 +2489 4.986 -1.4008036e-03 -2.4326261e-03 +2490 4.988 -1.3959467e-03 -2.4243277e-03 +2491 4.99 -1.3911063e-03 -2.4160566e-03 +2492 4.992 -1.3862824e-03 -2.4078128e-03 +2493 4.994 -1.3814750e-03 -2.3995961e-03 +2494 4.996 -1.3766840e-03 -2.3914065e-03 +2495 4.998 -1.3719094e-03 -2.3832440e-03 +2496 5.0 -1.3671510e-03 -2.3751084e-03 +2497 5.002 -1.3624089e-03 -2.3669996e-03 +2498 5.004 -1.3576830e-03 -2.3589176e-03 +2499 5.006 -1.3529732e-03 -2.3508622e-03 +2500 5.008 -1.3482795e-03 -2.3428335e-03 +2501 5.01 -1.3436019e-03 -2.3348312e-03 +2502 5.012 -1.3389402e-03 -2.3268554e-03 +2503 5.014 -1.3342944e-03 -2.3189060e-03 +2504 5.016 -1.3296646e-03 -2.3109828e-03 +2505 5.018 -1.3250505e-03 -2.3030859e-03 +2506 5.02 -1.3204522e-03 -2.2952150e-03 +2507 5.022 -1.3158696e-03 -2.2873702e-03 +2508 5.024 -1.3113027e-03 -2.2795513e-03 +2509 5.026 -1.3067514e-03 -2.2717583e-03 +2510 5.028 -1.3022157e-03 -2.2639911e-03 +2511 5.03 -1.2976954e-03 -2.2562496e-03 +2512 5.032 -1.2931906e-03 -2.2485338e-03 +2513 5.034 -1.2887013e-03 -2.2408435e-03 +2514 5.036 -1.2842272e-03 -2.2331787e-03 +2515 5.038 -1.2797685e-03 -2.2255392e-03 +2516 5.04 -1.2753251e-03 -2.2179252e-03 +2517 5.042 -1.2708968e-03 -2.2103363e-03 +2518 5.044 -1.2664837e-03 -2.2027726e-03 +2519 5.046 -1.2620857e-03 -2.1952340e-03 +2520 5.048 -1.2577028e-03 -2.1877204e-03 +2521 5.05 -1.2533348e-03 -2.1802318e-03 +2522 5.052 -1.2489818e-03 -2.1727680e-03 +2523 5.054 -1.2446437e-03 -2.1653290e-03 +2524 5.056 -1.2403205e-03 -2.1579147e-03 +2525 5.058 -1.2360120e-03 -2.1505250e-03 +2526 5.06 -1.2317184e-03 -2.1431599e-03 +2527 5.062 -1.2274394e-03 -2.1358192e-03 +2528 5.064 -1.2231751e-03 -2.1285030e-03 +2529 5.066 -1.2189254e-03 -2.1212110e-03 +2530 5.068 -1.2146902e-03 -2.1139433e-03 +2531 5.07 -1.2104696e-03 -2.1066998e-03 +2532 5.072 -1.2062634e-03 -2.0994804e-03 +2533 5.074 -1.2020716e-03 -2.0922850e-03 +2534 5.076 -1.1978942e-03 -2.0851135e-03 +2535 5.078 -1.1937312e-03 -2.0779660e-03 +2536 5.08 -1.1895824e-03 -2.0708422e-03 +2537 5.082 -1.1854478e-03 -2.0637421e-03 +2538 5.084 -1.1813274e-03 -2.0566657e-03 +2539 5.086 -1.1772211e-03 -2.0496129e-03 +2540 5.088 -1.1731289e-03 -2.0425836e-03 +2541 5.09 -1.1690508e-03 -2.0355777e-03 +2542 5.092 -1.1649866e-03 -2.0285951e-03 +2543 5.094 -1.1609364e-03 -2.0216359e-03 +2544 5.096 -1.1569000e-03 -2.0146998e-03 +2545 5.098 -1.1528775e-03 -2.0077869e-03 +2546 5.1 -1.1488689e-03 -2.0008971e-03 +2547 5.102 -1.1448739e-03 -1.9940302e-03 +2548 5.104 -1.1408927e-03 -1.9871863e-03 +2549 5.106 -1.1369252e-03 -1.9803652e-03 +2550 5.108 -1.1329712e-03 -1.9735669e-03 +2551 5.11 -1.1290309e-03 -1.9667913e-03 +2552 5.112 -1.1251041e-03 -1.9600383e-03 +2553 5.114 -1.1211907e-03 -1.9533079e-03 +2554 5.116 -1.1172908e-03 -1.9466000e-03 +2555 5.118 -1.1134043e-03 -1.9399145e-03 +2556 5.12 -1.1095311e-03 -1.9332514e-03 +2557 5.122 -1.1056713e-03 -1.9266105e-03 +2558 5.124 -1.1018247e-03 -1.9199919e-03 +2559 5.126 -1.0979913e-03 -1.9133954e-03 +2560 5.128 -1.0941711e-03 -1.9068209e-03 +2561 5.13 -1.0903640e-03 -1.9002685e-03 +2562 5.132 -1.0865700e-03 -1.8937380e-03 +2563 5.134 -1.0827890e-03 -1.8872294e-03 +2564 5.136 -1.0790211e-03 -1.8807425e-03 +2565 5.138 -1.0752661e-03 -1.8742774e-03 +2566 5.14 -1.0715240e-03 -1.8678339e-03 +2567 5.142 -1.0677947e-03 -1.8614121e-03 +2568 5.144 -1.0640783e-03 -1.8550117e-03 +2569 5.146 -1.0603746e-03 -1.8486328e-03 +2570 5.148 -1.0566837e-03 -1.8422753e-03 +2571 5.15 -1.0530055e-03 -1.8359391e-03 +2572 5.152 -1.0493400e-03 -1.8296242e-03 +2573 5.154 -1.0456870e-03 -1.8233304e-03 +2574 5.156 -1.0420466e-03 -1.8170577e-03 +2575 5.158 -1.0384188e-03 -1.8108061e-03 +2576 5.16 -1.0348034e-03 -1.8045755e-03 +2577 5.162 -1.0312005e-03 -1.7983658e-03 +2578 5.164 -1.0276099e-03 -1.7921769e-03 +2579 5.166 -1.0240317e-03 -1.7860088e-03 +2580 5.168 -1.0204659e-03 -1.7798614e-03 +2581 5.17 -1.0169123e-03 -1.7737347e-03 +2582 5.172 -1.0133709e-03 -1.7676286e-03 +2583 5.174 -1.0098418e-03 -1.7615430e-03 +2584 5.176 -1.0063247e-03 -1.7554778e-03 +2585 5.178 -1.0028198e-03 -1.7494330e-03 +2586 5.18 -9.9932699e-04 -1.7434086e-03 +2587 5.182 -9.9584618e-04 -1.7374044e-03 +2588 5.184 -9.9237736e-04 -1.7314203e-03 +2589 5.186 -9.8892048e-04 -1.7254565e-03 +2590 5.188 -9.8547552e-04 -1.7195126e-03 +2591 5.19 -9.8204242e-04 -1.7135888e-03 +2592 5.192 -9.7862115e-04 -1.7076850e-03 +2593 5.194 -9.7521167e-04 -1.7018010e-03 +2594 5.196 -9.7181393e-04 -1.6959368e-03 +2595 5.198 -9.6842791e-04 -1.6900923e-03 +2596 5.2 -9.6505355e-04 -1.6842675e-03 +2597 5.202 -9.6169082e-04 -1.6784624e-03 +2598 5.204 -9.5833969e-04 -1.6726768e-03 +2599 5.206 -9.5500010e-04 -1.6669107e-03 +2600 5.208 -9.5167203e-04 -1.6611640e-03 +2601 5.21 -9.4835543e-04 -1.6554367e-03 +2602 5.212 -9.4505027e-04 -1.6497288e-03 +2603 5.214 -9.4175651e-04 -1.6440400e-03 +2604 5.216 -9.3847410e-04 -1.6383705e-03 +2605 5.218 -9.3520301e-04 -1.6327200e-03 +2606 5.22 -9.3194321e-04 -1.6270886e-03 +2607 5.222 -9.2869465e-04 -1.6214763e-03 +2608 5.224 -9.2545729e-04 -1.6158828e-03 +2609 5.226 -9.2223110e-04 -1.6103083e-03 +2610 5.228 -9.1901604e-04 -1.6047525e-03 +2611 5.23 -9.1581208e-04 -1.5992155e-03 +2612 5.232 -9.1261917e-04 -1.5936972e-03 +2613 5.234 -9.0943728e-04 -1.5881976e-03 +2614 5.236 -9.0626637e-04 -1.5827165e-03 +2615 5.238 -9.0310640e-04 -1.5772539e-03 +2616 5.24 -8.9995734e-04 -1.5718098e-03 +2617 5.242 -8.9681915e-04 -1.5663841e-03 +2618 5.244 -8.9369179e-04 -1.5609767e-03 +2619 5.246 -8.9057523e-04 -1.5555876e-03 +2620 5.248 -8.8746943e-04 -1.5502168e-03 +2621 5.25 -8.8437435e-04 -1.5448640e-03 +2622 5.252 -8.8128996e-04 -1.5395294e-03 +2623 5.254 -8.7821622e-04 -1.5342129e-03 +2624 5.256 -8.7515310e-04 -1.5289143e-03 +2625 5.258 -8.7210055e-04 -1.5236336e-03 +2626 5.26 -8.6905855e-04 -1.5183708e-03 +2627 5.262 -8.6602706e-04 -1.5131258e-03 +2628 5.264 -8.6300603e-04 -1.5078986e-03 +2629 5.266 -8.5999545e-04 -1.5026891e-03 +2630 5.268 -8.5699527e-04 -1.4974972e-03 +2631 5.27 -8.5400545e-04 -1.4923229e-03 +2632 5.272 -8.5102596e-04 -1.4871661e-03 +2633 5.274 -8.4805677e-04 -1.4820268e-03 +2634 5.276 -8.4509784e-04 -1.4769049e-03 +2635 5.278 -8.4214914e-04 -1.4718003e-03 +2636 5.28 -8.3921063e-04 -1.4667130e-03 +2637 5.282 -8.3628228e-04 -1.4616430e-03 +2638 5.284 -8.3336405e-04 -1.4565902e-03 +2639 5.286 -8.3045591e-04 -1.4515545e-03 +2640 5.288 -8.2755782e-04 -1.4465359e-03 +2641 5.29 -8.2466975e-04 -1.4415343e-03 +2642 5.292 -8.2179167e-04 -1.4365496e-03 +2643 5.294 -8.1892354e-04 -1.4315819e-03 +2644 5.296 -8.1606533e-04 -1.4266310e-03 +2645 5.298 -8.1321701e-04 -1.4216969e-03 +2646 5.3 -8.1037853e-04 -1.4167796e-03 +2647 5.302 -8.0754988e-04 -1.4118790e-03 +2648 5.304 -8.0473100e-04 -1.4069949e-03 +2649 5.306 -8.0192189e-04 -1.4021275e-03 +2650 5.308 -7.9912248e-04 -1.3972766e-03 +2651 5.31 -7.9633277e-04 -1.3924422e-03 +2652 5.312 -7.9355270e-04 -1.3876242e-03 +2653 5.314 -7.9078226e-04 -1.3828225e-03 +2654 5.316 -7.8802140e-04 -1.3780372e-03 +2655 5.318 -7.8527010e-04 -1.3732681e-03 +2656 5.32 -7.8252832e-04 -1.3685152e-03 +2657 5.322 -7.7979603e-04 -1.3637785e-03 +2658 5.324 -7.7707320e-04 -1.3590579e-03 +2659 5.326 -7.7435979e-04 -1.3543533e-03 +2660 5.328 -7.7165577e-04 -1.3496648e-03 +2661 5.33 -7.6896112e-04 -1.3449921e-03 +2662 5.332 -7.6627579e-04 -1.3403354e-03 +2663 5.334 -7.6359976e-04 -1.3356945e-03 +2664 5.336 -7.6093300e-04 -1.3310694e-03 +2665 5.338 -7.5827548e-04 -1.3264600e-03 +2666 5.34 -7.5562715e-04 -1.3218663e-03 +2667 5.342 -7.5298800e-04 -1.3172882e-03 +2668 5.344 -7.5035799e-04 -1.3127257e-03 +2669 5.346 -7.4773709e-04 -1.3081788e-03 +2670 5.348 -7.4512526e-04 -1.3036473e-03 +2671 5.35 -7.4252249e-04 -1.2991313e-03 +2672 5.352 -7.3992873e-04 -1.2946306e-03 +2673 5.354 -7.3734396e-04 -1.2901453e-03 +2674 5.356 -7.3476814e-04 -1.2856752e-03 +2675 5.358 -7.3220124e-04 -1.2812204e-03 +2676 5.36 -7.2964325e-04 -1.2767807e-03 +2677 5.362 -7.2709411e-04 -1.2723562e-03 +2678 5.364 -7.2455381e-04 -1.2679467e-03 +2679 5.366 -7.2202232e-04 -1.2635523e-03 +2680 5.368 -7.1949959e-04 -1.2591728e-03 +2681 5.37 -7.1698561e-04 -1.2548083e-03 +2682 5.372 -7.1448035e-04 -1.2504587e-03 +2683 5.374 -7.1198377e-04 -1.2461239e-03 +2684 5.376 -7.0949584e-04 -1.2418038e-03 +2685 5.378 -7.0701654e-04 -1.2374985e-03 +2686 5.38 -7.0454584e-04 -1.2332079e-03 +2687 5.382 -7.0208370e-04 -1.2289319e-03 +2688 5.384 -6.9963010e-04 -1.2246706e-03 +2689 5.386 -6.9718501e-04 -1.2204237e-03 +2690 5.388 -6.9474840e-04 -1.2161914e-03 +2691 5.39 -6.9232024e-04 -1.2119734e-03 +2692 5.392 -6.8990049e-04 -1.2077699e-03 +2693 5.394 -6.8748915e-04 -1.2035808e-03 +2694 5.396 -6.8508616e-04 -1.1994059e-03 +2695 5.398 -6.8269151e-04 -1.1952453e-03 +2696 5.4 -6.8030517e-04 -1.1910989e-03 +2697 5.402 -6.7792711e-04 -1.1869667e-03 +2698 5.404 -6.7555730e-04 -1.1828486e-03 +2699 5.406 -6.7319570e-04 -1.1787445e-03 +2700 5.408 -6.7084231e-04 -1.1746545e-03 +2701 5.41 -6.6849708e-04 -1.1705784e-03 +2702 5.412 -6.6615999e-04 -1.1665163e-03 +2703 5.414 -6.6383100e-04 -1.1624680e-03 +2704 5.416 -6.6151010e-04 -1.1584336e-03 +2705 5.418 -6.5919726e-04 -1.1544130e-03 +2706 5.42 -6.5689244e-04 -1.1504061e-03 +2707 5.422 -6.5459563e-04 -1.1464130e-03 +2708 5.424 -6.5230678e-04 -1.1424334e-03 +2709 5.426 -6.5002588e-04 -1.1384675e-03 +2710 5.428 -6.4775290e-04 -1.1345152e-03 +2711 5.43 -6.4548781e-04 -1.1305763e-03 +2712 5.432 -6.4323059e-04 -1.1266510e-03 +2713 5.434 -6.4098120e-04 -1.1227391e-03 +2714 5.436 -6.3873962e-04 -1.1188405e-03 +2715 5.438 -6.3650583e-04 -1.1149553e-03 +2716 5.44 -6.3427979e-04 -1.1110834e-03 +2717 5.442 -6.3206149e-04 -1.1072248e-03 +2718 5.444 -6.2985089e-04 -1.1033793e-03 +2719 5.446 -6.2764796e-04 -1.0995470e-03 +2720 5.448 -6.2545269e-04 -1.0957279e-03 +2721 5.45 -6.2326504e-04 -1.0919218e-03 +2722 5.452 -6.2108499e-04 -1.0881288e-03 +2723 5.454 -6.1891252e-04 -1.0843487e-03 +2724 5.456 -6.1674759e-04 -1.0805816e-03 +2725 5.458 -6.1459018e-04 -1.0768274e-03 +2726 5.46 -6.1244027e-04 -1.0730860e-03 +2727 5.462 -6.1029783e-04 -1.0693575e-03 +2728 5.464 -6.0816283e-04 -1.0656418e-03 +2729 5.466 -6.0603525e-04 -1.0619388e-03 +2730 5.468 -6.0391507e-04 -1.0582484e-03 +2731 5.47 -6.0180225e-04 -1.0545708e-03 +2732 5.472 -5.9969678e-04 -1.0509057e-03 +2733 5.474 -5.9759862e-04 -1.0472532e-03 +2734 5.476 -5.9550776e-04 -1.0436132e-03 +2735 5.478 -5.9342416e-04 -1.0399857e-03 +2736 5.48 -5.9134780e-04 -1.0363707e-03 +2737 5.482 -5.8927867e-04 -1.0327680e-03 +2738 5.484 -5.8721672e-04 -1.0291777e-03 +2739 5.486 -5.8516195e-04 -1.0255997e-03 +2740 5.488 -5.8311432e-04 -1.0220340e-03 +2741 5.49 -5.8107381e-04 -1.0184805e-03 +2742 5.492 -5.7904039e-04 -1.0149392e-03 +2743 5.494 -5.7701404e-04 -1.0114101e-03 +2744 5.496 -5.7499474e-04 -1.0078931e-03 +2745 5.498 -5.7298246e-04 -1.0043881e-03 +2746 5.5 -5.7097718e-04 -1.0008952e-03 +2747 5.502 -5.6897887e-04 -9.9741425e-04 +2748 5.504 -5.6698751e-04 -9.9394527e-04 +2749 5.506 -5.6500308e-04 -9.9048820e-04 +2750 5.508 -5.6302555e-04 -9.8704300e-04 +2751 5.51 -5.6105490e-04 -9.8360963e-04 +2752 5.512 -5.5909111e-04 -9.8018805e-04 +2753 5.514 -5.5713414e-04 -9.7677823e-04 +2754 5.516 -5.5518399e-04 -9.7338012e-04 +2755 5.518 -5.5324061e-04 -9.6999368e-04 +2756 5.52 -5.5130400e-04 -9.6661888e-04 +2757 5.522 -5.4937413e-04 -9.6325567e-04 +2758 5.524 -5.4745097e-04 -9.5990402e-04 +2759 5.526 -5.4553451e-04 -9.5656389e-04 +2760 5.528 -5.4362471e-04 -9.5323524e-04 +2761 5.53 -5.4172156e-04 -9.4991803e-04 +2762 5.532 -5.3982503e-04 -9.4661223e-04 +2763 5.534 -5.3793510e-04 -9.4331778e-04 +2764 5.536 -5.3605175e-04 -9.4003467e-04 +2765 5.538 -5.3417496e-04 -9.3676284e-04 +2766 5.54 -5.3230469e-04 -9.3350227e-04 +2767 5.542 -5.3044094e-04 -9.3025290e-04 +2768 5.544 -5.2858367e-04 -9.2701472e-04 +2769 5.546 -5.2673287e-04 -9.2378767e-04 +2770 5.548 -5.2488852e-04 -9.2057172e-04 +2771 5.55 -5.2305058e-04 -9.1736684e-04 +2772 5.552 -5.2121904e-04 -9.1417298e-04 +2773 5.554 -5.1939388e-04 -9.1099011e-04 +2774 5.556 -5.1757507e-04 -9.0781820e-04 +2775 5.558 -5.1576260e-04 -9.0465720e-04 +2776 5.56 -5.1395644e-04 -9.0150708e-04 +2777 5.562 -5.1215656e-04 -8.9836780e-04 +2778 5.564 -5.1036296e-04 -8.9523933e-04 +2779 5.566 -5.0857560e-04 -8.9212163e-04 +2780 5.568 -5.0679446e-04 -8.8901466e-04 +2781 5.57 -5.0501953e-04 -8.8591839e-04 +2782 5.572 -5.0325078e-04 -8.8283278e-04 +2783 5.574 -5.0148820e-04 -8.7975780e-04 +2784 5.576 -4.9973175e-04 -8.7669340e-04 +2785 5.578 -4.9798141e-04 -8.7363956e-04 +2786 5.58 -4.9623718e-04 -8.7059624e-04 +2787 5.582 -4.9449902e-04 -8.6756341e-04 +2788 5.584 -4.9276692e-04 -8.6454102e-04 +2789 5.586 -4.9104085e-04 -8.6152905e-04 +2790 5.588 -4.8932080e-04 -8.5852745e-04 +2791 5.59 -4.8760674e-04 -8.5553620e-04 +2792 5.592 -4.8589865e-04 -8.5255525e-04 +2793 5.594 -4.8419651e-04 -8.4958458e-04 +2794 5.596 -4.8250030e-04 -8.4662415e-04 +2795 5.598 -4.8081000e-04 -8.4367392e-04 +2796 5.6 -4.7912560e-04 -8.4073386e-04 +2797 5.602 -4.7744706e-04 -8.3780394e-04 +2798 5.604 -4.7577438e-04 -8.3488412e-04 +2799 5.606 -4.7410752e-04 -8.3197437e-04 +2800 5.608 -4.7244647e-04 -8.2907465e-04 +2801 5.61 -4.7079121e-04 -8.2618493e-04 +2802 5.612 -4.6914172e-04 -8.2330518e-04 +2803 5.614 -4.6749799e-04 -8.2043536e-04 +2804 5.616 -4.6585998e-04 -8.1757543e-04 +2805 5.618 -4.6422768e-04 -8.1472538e-04 +2806 5.62 -4.6260107e-04 -8.1188515e-04 +2807 5.622 -4.6098013e-04 -8.0905473e-04 +2808 5.624 -4.5936484e-04 -8.0623407e-04 +2809 5.626 -4.5775519e-04 -8.0342315e-04 +2810 5.628 -4.5615114e-04 -8.0062192e-04 +2811 5.63 -4.5455269e-04 -7.9783036e-04 +2812 5.632 -4.5295982e-04 -7.9504844e-04 +2813 5.634 -4.5137249e-04 -7.9227612e-04 +2814 5.636 -4.4979071e-04 -7.8951337e-04 +2815 5.638 -4.4821443e-04 -7.8676015e-04 +2816 5.64 -4.4664366e-04 -7.8401644e-04 +2817 5.642 -4.4507836e-04 -7.8128221e-04 +2818 5.644 -4.4351852e-04 -7.7855741e-04 +2819 5.646 -4.4196413e-04 -7.7584203e-04 +2820 5.648 -4.4041515e-04 -7.7313602e-04 +2821 5.65 -4.3887158e-04 -7.7043936e-04 +2822 5.652 -4.3733339e-04 -7.6775201e-04 +2823 5.654 -4.3580056e-04 -7.6507394e-04 +2824 5.656 -4.3427308e-04 -7.6240513e-04 +2825 5.658 -4.3275093e-04 -7.5974553e-04 +2826 5.66 -4.3123410e-04 -7.5709512e-04 +2827 5.662 -4.2972255e-04 -7.5445387e-04 +2828 5.664 -4.2821627e-04 -7.5182175e-04 +2829 5.666 -4.2671525e-04 -7.4919872e-04 +2830 5.668 -4.2521947e-04 -7.4658476e-04 +2831 5.67 -4.2372891e-04 -7.4397983e-04 +2832 5.672 -4.2224355e-04 -7.4138390e-04 +2833 5.674 -4.2076337e-04 -7.3879695e-04 +2834 5.676 -4.1928835e-04 -7.3621894e-04 +2835 5.678 -4.1781849e-04 -7.3364984e-04 +2836 5.68 -4.1635375e-04 -7.3108962e-04 +2837 5.682 -4.1489412e-04 -7.2853825e-04 +2838 5.684 -4.1343959e-04 -7.2599571e-04 +2839 5.686 -4.1199013e-04 -7.2346196e-04 +2840 5.688 -4.1054574e-04 -7.2093697e-04 +2841 5.69 -4.0910638e-04 -7.1842071e-04 +2842 5.692 -4.0767205e-04 -7.1591316e-04 +2843 5.694 -4.0624272e-04 -7.1341427e-04 +2844 5.696 -4.0481838e-04 -7.1092403e-04 +2845 5.698 -4.0339902e-04 -7.0844241e-04 +2846 5.7 -4.0198461e-04 -7.0596937e-04 +2847 5.702 -4.0057514e-04 -7.0350489e-04 +2848 5.704 -3.9917058e-04 -7.0104893e-04 +2849 5.706 -3.9777093e-04 -6.9860147e-04 +2850 5.708 -3.9637617e-04 -6.9616248e-04 +2851 5.71 -3.9498628e-04 -6.9373193e-04 +2852 5.712 -3.9360124e-04 -6.9130980e-04 +2853 5.714 -3.9222103e-04 -6.8889604e-04 +2854 5.716 -3.9084565e-04 -6.8649064e-04 +2855 5.718 -3.8947507e-04 -6.8409357e-04 +2856 5.72 -3.8810927e-04 -6.8170479e-04 +2857 5.722 -3.8674824e-04 -6.7932429e-04 +2858 5.724 -3.8539197e-04 -6.7695202e-04 +2859 5.726 -3.8404043e-04 -6.7458797e-04 +2860 5.728 -3.8269361e-04 -6.7223210e-04 +2861 5.73 -3.8135149e-04 -6.6988440e-04 +2862 5.732 -3.8001407e-04 -6.6754482e-04 +2863 5.734 -3.7868131e-04 -6.6521334e-04 +2864 5.736 -3.7735321e-04 -6.6288994e-04 +2865 5.738 -3.7602974e-04 -6.6057458e-04 +2866 5.74 -3.7471090e-04 -6.5826725e-04 +2867 5.742 -3.7339667e-04 -6.5596791e-04 +2868 5.744 -3.7208703e-04 -6.5367653e-04 +2869 5.746 -3.7078196e-04 -6.5139309e-04 +2870 5.748 -3.6948145e-04 -6.4911757e-04 +2871 5.75 -3.6818548e-04 -6.4684992e-04 +2872 5.752 -3.6689404e-04 -6.4459014e-04 +2873 5.754 -3.6560712e-04 -6.4233818e-04 +2874 5.756 -3.6432469e-04 -6.4009403e-04 +2875 5.758 -3.6304674e-04 -6.3785766e-04 +2876 5.76 -3.6177325e-04 -6.3562903e-04 +2877 5.762 -3.6050421e-04 -6.3340813e-04 +2878 5.764 -3.5923961e-04 -6.3119493e-04 +2879 5.766 -3.5797943e-04 -6.2898940e-04 +2880 5.768 -3.5672365e-04 -6.2679152e-04 +2881 5.77 -3.5547226e-04 -6.2460126e-04 +2882 5.772 -3.5422524e-04 -6.2241859e-04 +2883 5.774 -3.5298258e-04 -6.2024348e-04 +2884 5.776 -3.5174426e-04 -6.1807592e-04 +2885 5.778 -3.5051027e-04 -6.1591588e-04 +2886 5.78 -3.4928059e-04 -6.1376332e-04 +2887 5.782 -3.4805521e-04 -6.1161824e-04 +2888 5.784 -3.4683411e-04 -6.0948059e-04 +2889 5.786 -3.4561729e-04 -6.0735035e-04 +2890 5.788 -3.4440471e-04 -6.0522750e-04 +2891 5.79 -3.4319637e-04 -6.0311202e-04 +2892 5.792 -3.4199226e-04 -6.0100388e-04 +2893 5.794 -3.4079235e-04 -5.9890304e-04 +2894 5.796 -3.3959664e-04 -5.9680950e-04 +2895 5.798 -3.3840511e-04 -5.9472322e-04 +2896 5.8 -3.3721774e-04 -5.9264418e-04 +2897 5.802 -3.3603453e-04 -5.9057235e-04 +2898 5.804 -3.3485545e-04 -5.8850771e-04 +2899 5.806 -3.3368049e-04 -5.8645024e-04 +2900 5.808 -3.3250964e-04 -5.8439991e-04 +2901 5.81 -3.3134289e-04 -5.8235669e-04 +2902 5.812 -3.3018021e-04 -5.8032056e-04 +2903 5.814 -3.2902160e-04 -5.7829150e-04 +2904 5.816 -3.2786704e-04 -5.7626949e-04 +2905 5.818 -3.2671652e-04 -5.7425449e-04 +2906 5.82 -3.2557002e-04 -5.7224649e-04 +2907 5.822 -3.2442753e-04 -5.7024546e-04 +2908 5.824 -3.2328903e-04 -5.6825138e-04 +2909 5.826 -3.2215452e-04 -5.6626422e-04 +2910 5.828 -3.2102397e-04 -5.6428396e-04 +2911 5.83 -3.1989737e-04 -5.6231057e-04 +2912 5.832 -3.1877472e-04 -5.6034404e-04 +2913 5.834 -3.1765599e-04 -5.5838434e-04 +2914 5.836 -3.1654118e-04 -5.5643144e-04 +2915 5.838 -3.1543026e-04 -5.5448533e-04 +2916 5.84 -3.1432323e-04 -5.5254597e-04 +2917 5.842 -3.1322008e-04 -5.5061336e-04 +2918 5.844 -3.1212078e-04 -5.4868745e-04 +2919 5.846 -3.1102532e-04 -5.4676824e-04 +2920 5.848 -3.0993370e-04 -5.4485569e-04 +2921 5.85 -3.0884589e-04 -5.4294978e-04 +2922 5.852 -3.0776189e-04 -5.4105050e-04 +2923 5.854 -3.0668169e-04 -5.3915782e-04 +2924 5.856 -3.0560526e-04 -5.3727171e-04 +2925 5.858 -3.0453260e-04 -5.3539216e-04 +2926 5.86 -3.0346369e-04 -5.3351914e-04 +2927 5.862 -3.0239852e-04 -5.3165262e-04 +2928 5.864 -3.0133707e-04 -5.2979260e-04 +2929 5.866 -3.0027934e-04 -5.2793903e-04 +2930 5.868 -2.9922531e-04 -5.2609191e-04 +2931 5.87 -2.9817497e-04 -5.2425121e-04 +2932 5.872 -2.9712830e-04 -5.2241691e-04 +2933 5.874 -2.9608530e-04 -5.2058899e-04 +2934 5.876 -2.9504594e-04 -5.1876742e-04 +2935 5.878 -2.9401022e-04 -5.1695218e-04 +2936 5.88 -2.9297813e-04 -5.1514325e-04 +2937 5.882 -2.9194965e-04 -5.1334061e-04 +2938 5.884 -2.9092476e-04 -5.1154424e-04 +2939 5.886 -2.8990346e-04 -5.0975411e-04 +2940 5.888 -2.8888574e-04 -5.0797021e-04 +2941 5.89 -2.8787158e-04 -5.0619252e-04 +2942 5.892 -2.8686097e-04 -5.0442100e-04 +2943 5.894 -2.8585389e-04 -5.0265565e-04 +2944 5.896 -2.8485034e-04 -5.0089643e-04 +2945 5.898 -2.8385030e-04 -4.9914333e-04 +2946 5.9 -2.8285376e-04 -4.9739633e-04 +2947 5.902 -2.8186071e-04 -4.9565541e-04 +2948 5.904 -2.8087114e-04 -4.9392054e-04 +2949 5.906 -2.7988503e-04 -4.9219171e-04 +2950 5.908 -2.7890237e-04 -4.9046889e-04 +2951 5.91 -2.7792315e-04 -4.8875207e-04 +2952 5.912 -2.7694735e-04 -4.8704122e-04 +2953 5.914 -2.7597498e-04 -4.8533632e-04 +2954 5.916 -2.7500601e-04 -4.8363735e-04 +2955 5.918 -2.7404042e-04 -4.8194430e-04 +2956 5.92 -2.7307822e-04 -4.8025713e-04 +2957 5.922 -2.7211939e-04 -4.7857584e-04 +2958 5.924 -2.7116392e-04 -4.7690040e-04 +2959 5.926 -2.7021179e-04 -4.7523079e-04 +2960 5.928 -2.6926299e-04 -4.7356698e-04 +2961 5.93 -2.6831751e-04 -4.7190897e-04 +2962 5.932 -2.6737535e-04 -4.7025673e-04 +2963 5.934 -2.6643648e-04 -4.6861025e-04 +2964 5.936 -2.6550091e-04 -4.6696949e-04 +2965 5.938 -2.6456860e-04 -4.6533444e-04 +2966 5.94 -2.6363956e-04 -4.6370509e-04 +2967 5.942 -2.6271378e-04 -4.6208141e-04 +2968 5.944 -2.6179123e-04 -4.6046338e-04 +2969 5.946 -2.6087192e-04 -4.5885098e-04 +2970 5.948 -2.5995583e-04 -4.5724420e-04 +2971 5.95 -2.5904294e-04 -4.5564301e-04 +2972 5.952 -2.5813325e-04 -4.5404740e-04 +2973 5.954 -2.5722675e-04 -4.5245734e-04 +2974 5.956 -2.5632342e-04 -4.5087282e-04 +2975 5.958 -2.5542325e-04 -4.4929382e-04 +2976 5.96 -2.5452624e-04 -4.4772032e-04 +2977 5.962 -2.5363237e-04 -4.4615230e-04 +2978 5.964 -2.5274163e-04 -4.4458973e-04 +2979 5.966 -2.5185400e-04 -4.4303262e-04 +2980 5.968 -2.5096949e-04 -4.4148092e-04 +2981 5.97 -2.5008808e-04 -4.3993463e-04 +2982 5.972 -2.4920975e-04 -4.3839373e-04 +2983 5.974 -2.4833450e-04 -4.3685819e-04 +2984 5.976 -2.4746231e-04 -4.3532800e-04 +2985 5.978 -2.4659318e-04 -4.3380314e-04 +2986 5.98 -2.4572710e-04 -4.3228360e-04 +2987 5.982 -2.4486405e-04 -4.3076935e-04 +2988 5.984 -2.4400402e-04 -4.2926038e-04 +2989 5.986 -2.4314700e-04 -4.2775666e-04 +2990 5.988 -2.4229299e-04 -4.2625818e-04 +2991 5.99 -2.4144196e-04 -4.2476493e-04 +2992 5.992 -2.4059392e-04 -4.2327688e-04 +2993 5.994 -2.3974885e-04 -4.2179401e-04 +2994 5.996 -2.3890674e-04 -4.2031631e-04 +2995 5.998 -2.3806758e-04 -4.1884376e-04 +2996 6.0 -2.3723137e-04 -4.1737635e-04 +2997 6.002 -2.3639808e-04 -4.1591405e-04 +2998 6.004 -2.3556771e-04 -4.1445684e-04 +2999 6.006 -2.3474024e-04 -4.1300472e-04 +3000 6.008 -2.3391568e-04 -4.1155765e-04 +3001 6.01 -2.3309401e-04 -4.1011563e-04 +3002 6.012 -2.3227522e-04 -4.0867864e-04 +3003 6.014 -2.3145929e-04 -4.0724666e-04 +3004 6.016 -2.3064623e-04 -4.0581967e-04 +3005 6.018 -2.2983601e-04 -4.0439765e-04 +3006 6.02 -2.2902863e-04 -4.0298059e-04 +3007 6.022 -2.2822409e-04 -4.0156847e-04 +3008 6.024 -2.2742236e-04 -4.0016128e-04 +3009 6.026 -2.2662344e-04 -3.9875899e-04 +3010 6.028 -2.2582732e-04 -3.9736160e-04 +3011 6.03 -2.2503399e-04 -3.9596907e-04 +3012 6.032 -2.2424344e-04 -3.9458140e-04 +3013 6.034 -2.2345566e-04 -3.9319857e-04 +3014 6.036 -2.2267064e-04 -3.9182057e-04 +3015 6.038 -2.2188837e-04 -3.9044737e-04 +3016 6.04 -2.2110885e-04 -3.8907895e-04 +3017 6.042 -2.2033205e-04 -3.8771532e-04 +3018 6.044 -2.1955798e-04 -3.8635643e-04 +3019 6.046 -2.1878663e-04 -3.8500229e-04 +3020 6.048 -2.1801797e-04 -3.8365287e-04 +3021 6.05 -2.1725201e-04 -3.8230816e-04 +3022 6.052 -2.1648873e-04 -3.8096814e-04 +3023 6.054 -2.1572813e-04 -3.7963279e-04 +3024 6.056 -2.1497020e-04 -3.7830211e-04 +3025 6.058 -2.1421492e-04 -3.7697606e-04 +3026 6.06 -2.1346229e-04 -3.7565464e-04 +3027 6.062 -2.1271230e-04 -3.7433784e-04 +3028 6.064 -2.1196494e-04 -3.7302562e-04 +3029 6.066 -2.1122020e-04 -3.7171799e-04 +3030 6.068 -2.1047806e-04 -3.7041492e-04 +3031 6.07 -2.0973853e-04 -3.6911639e-04 +3032 6.072 -2.0900160e-04 -3.6782240e-04 +3033 6.074 -2.0826724e-04 -3.6653292e-04 +3034 6.076 -2.0753546e-04 -3.6524794e-04 +3035 6.078 -2.0680625e-04 -3.6396745e-04 +3036 6.08 -2.0607959e-04 -3.6269142e-04 +3037 6.082 -2.0535548e-04 -3.6141985e-04 +3038 6.084 -2.0463391e-04 -3.6015272e-04 +3039 6.086 -2.0391486e-04 -3.5889001e-04 +3040 6.088 -2.0319834e-04 -3.5763171e-04 +3041 6.09 -2.0248433e-04 -3.5637779e-04 +3042 6.092 -2.0177283e-04 -3.5512826e-04 +3043 6.094 -2.0106382e-04 -3.5388309e-04 +3044 6.096 -2.0035729e-04 -3.5264227e-04 +3045 6.098 -1.9965325e-04 -3.5140577e-04 +3046 6.1 -1.9895167e-04 -3.5017360e-04 +3047 6.102 -1.9825255e-04 -3.4894572e-04 +3048 6.104 -1.9755588e-04 -3.4772213e-04 +3049 6.106 -1.9686166e-04 -3.4650282e-04 +3050 6.108 -1.9616987e-04 -3.4528776e-04 +3051 6.11 -1.9548050e-04 -3.4407695e-04 +3052 6.112 -1.9479356e-04 -3.4287036e-04 +3053 6.114 -1.9410902e-04 -3.4166798e-04 +3054 6.116 -1.9342688e-04 -3.4046981e-04 +3055 6.118 -1.9274714e-04 -3.3927582e-04 +3056 6.12 -1.9206978e-04 -3.3808599e-04 +3057 6.122 -1.9139479e-04 -3.3690033e-04 +3058 6.124 -1.9072217e-04 -3.3571880e-04 +3059 6.126 -1.9005191e-04 -3.3454140e-04 +3060 6.128 -1.8938400e-04 -3.3336812e-04 +3061 6.13 -1.8871844e-04 -3.3219893e-04 +3062 6.132 -1.8805521e-04 -3.3103382e-04 +3063 6.134 -1.8739430e-04 -3.2987279e-04 +3064 6.136 -1.8673571e-04 -3.2871581e-04 +3065 6.138 -1.8607943e-04 -3.2756287e-04 +3066 6.14 -1.8542546e-04 -3.2641396e-04 +3067 6.142 -1.8477377e-04 -3.2526906e-04 +3068 6.144 -1.8412438e-04 -3.2412816e-04 +3069 6.146 -1.8347726e-04 -3.2299125e-04 +3070 6.148 -1.8283241e-04 -3.2185831e-04 +3071 6.15 -1.8218982e-04 -3.2072932e-04 +3072 6.152 -1.8154949e-04 -3.1960429e-04 +3073 6.154 -1.8091140e-04 -3.1848318e-04 +3074 6.156 -1.8027556e-04 -3.1736599e-04 +3075 6.158 -1.7964194e-04 -3.1625270e-04 +3076 6.16 -1.7901054e-04 -3.1514331e-04 +3077 6.162 -1.7838136e-04 -3.1403779e-04 +3078 6.164 -1.7775439e-04 -3.1293613e-04 +3079 6.166 -1.7712961e-04 -3.1183832e-04 +3080 6.168 -1.7650703e-04 -3.1074435e-04 +3081 6.17 -1.7588663e-04 -3.0965421e-04 +3082 6.172 -1.7526841e-04 -3.0856787e-04 +3083 6.174 -1.7465236e-04 -3.0748533e-04 +3084 6.176 -1.7403847e-04 -3.0640657e-04 +3085 6.178 -1.7342673e-04 -3.0533159e-04 +3086 6.18 -1.7281714e-04 -3.0426036e-04 +3087 6.182 -1.7220969e-04 -3.0319287e-04 +3088 6.184 -1.7160437e-04 -3.0212912e-04 +3089 6.186 -1.7100117e-04 -3.0106908e-04 +3090 6.188 -1.7040009e-04 -3.0001275e-04 +3091 6.19 -1.6980112e-04 -2.9896011e-04 +3092 6.192 -1.6920424e-04 -2.9791115e-04 +3093 6.194 -1.6860947e-04 -2.9686586e-04 +3094 6.196 -1.6801678e-04 -2.9582422e-04 +3095 6.198 -1.6742617e-04 -2.9478623e-04 +3096 6.2 -1.6683763e-04 -2.9375186e-04 +3097 6.202 -1.6625116e-04 -2.9272111e-04 +3098 6.204 -1.6566674e-04 -2.9169397e-04 +3099 6.206 -1.6508438e-04 -2.9067041e-04 +3100 6.208 -1.6450406e-04 -2.8965043e-04 +3101 6.21 -1.6392578e-04 -2.8863402e-04 +3102 6.212 -1.6334952e-04 -2.8762117e-04 +3103 6.214 -1.6277529e-04 -2.8661185e-04 +3104 6.216 -1.6220307e-04 -2.8560607e-04 +3105 6.218 -1.6163286e-04 -2.8460380e-04 +3106 6.22 -1.6106465e-04 -2.8360504e-04 +3107 6.222 -1.6049844e-04 -2.8260977e-04 +3108 6.224 -1.5993421e-04 -2.8161798e-04 +3109 6.226 -1.5937197e-04 -2.8062966e-04 +3110 6.228 -1.5881169e-04 -2.7964479e-04 +3111 6.23 -1.5825338e-04 -2.7866337e-04 +3112 6.232 -1.5769704e-04 -2.7768538e-04 +3113 6.234 -1.5714264e-04 -2.7671082e-04 +3114 6.236 -1.5659019e-04 -2.7573966e-04 +3115 6.238 -1.5603968e-04 -2.7477190e-04 +3116 6.24 -1.5549110e-04 -2.7380752e-04 +3117 6.242 -1.5494445e-04 -2.7284652e-04 +3118 6.244 -1.5439971e-04 -2.7188888e-04 +3119 6.246 -1.5385689e-04 -2.7093458e-04 +3120 6.248 -1.5331597e-04 -2.6998363e-04 +3121 6.25 -1.5277695e-04 -2.6903600e-04 +3122 6.252 -1.5223983e-04 -2.6809169e-04 +3123 6.254 -1.5170458e-04 -2.6715068e-04 +3124 6.256 -1.5117122e-04 -2.6621297e-04 +3125 6.258 -1.5063973e-04 -2.6527853e-04 +3126 6.26 -1.5011010e-04 -2.6434737e-04 +3127 6.262 -1.4958234e-04 -2.6341946e-04 +3128 6.264 -1.4905642e-04 -2.6249480e-04 +3129 6.266 -1.4853236e-04 -2.6157337e-04 +3130 6.268 -1.4801013e-04 -2.6065517e-04 +3131 6.27 -1.4748973e-04 -2.5974018e-04 +3132 6.272 -1.4697117e-04 -2.5882839e-04 +3133 6.274 -1.4645442e-04 -2.5791980e-04 +3134 6.276 -1.4593949e-04 -2.5701438e-04 +3135 6.278 -1.4542636e-04 -2.5611213e-04 +3136 6.28 -1.4491503e-04 -2.5521304e-04 +3137 6.282 -1.4440550e-04 -2.5431709e-04 +3138 6.284 -1.4389776e-04 -2.5342428e-04 +3139 6.286 -1.4339181e-04 -2.5253460e-04 +3140 6.288 -1.4288762e-04 -2.5164802e-04 +3141 6.29 -1.4238521e-04 -2.5076456e-04 +3142 6.292 -1.4188456e-04 -2.4988418e-04 +3143 6.294 -1.4138567e-04 -2.4900688e-04 +3144 6.296 -1.4088853e-04 -2.4813266e-04 +3145 6.298 -1.4039314e-04 -2.4726149e-04 +3146 6.3 -1.3989949e-04 -2.4639338e-04 +3147 6.302 -1.3940756e-04 -2.4552830e-04 +3148 6.304 -1.3891737e-04 -2.4466625e-04 +3149 6.306 -1.3842890e-04 -2.4380722e-04 +3150 6.308 -1.3794214e-04 -2.4295120e-04 +3151 6.31 -1.3745709e-04 -2.4209817e-04 +3152 6.312 -1.3697374e-04 -2.4124813e-04 +3153 6.314 -1.3649210e-04 -2.4040106e-04 +3154 6.316 -1.3601214e-04 -2.3955696e-04 +3155 6.318 -1.3553387e-04 -2.3871582e-04 +3156 6.32 -1.3505727e-04 -2.3787762e-04 +3157 6.322 -1.3458235e-04 -2.3704235e-04 +3158 6.324 -1.3410910e-04 -2.3621001e-04 +3159 6.326 -1.3363751e-04 -2.3538058e-04 +3160 6.328 -1.3316758e-04 -2.3455406e-04 +3161 6.33 -1.3269929e-04 -2.3373043e-04 +3162 6.332 -1.3223265e-04 -2.3290968e-04 +3163 6.334 -1.3176765e-04 -2.3209181e-04 +3164 6.336 -1.3130429e-04 -2.3127680e-04 +3165 6.338 -1.3084254e-04 -2.3046465e-04 +3166 6.34 -1.3038242e-04 -2.2965534e-04 +3167 6.342 -1.2992392e-04 -2.2884886e-04 +3168 6.344 -1.2946703e-04 -2.2804521e-04 +3169 6.346 -1.2901174e-04 -2.2724437e-04 +3170 6.348 -1.2855805e-04 -2.2644634e-04 +3171 6.35 -1.2810595e-04 -2.2565110e-04 +3172 6.352 -1.2765544e-04 -2.2485865e-04 +3173 6.354 -1.2720651e-04 -2.2406897e-04 +3174 6.356 -1.2675916e-04 -2.2328206e-04 +3175 6.358 -1.2631338e-04 -2.2249790e-04 +3176 6.36 -1.2586917e-04 -2.2171649e-04 +3177 6.362 -1.2542652e-04 -2.2093782e-04 +3178 6.364 -1.2498542e-04 -2.2016187e-04 +3179 6.366 -1.2454587e-04 -2.1938864e-04 +3180 6.368 -1.2410786e-04 -2.1861812e-04 +3181 6.37 -1.2367139e-04 -2.1785030e-04 +3182 6.372 -1.2323646e-04 -2.1708517e-04 +3183 6.374 -1.2280305e-04 -2.1632272e-04 +3184 6.376 -1.2237117e-04 -2.1556294e-04 +3185 6.378 -1.2194080e-04 -2.1480582e-04 +3186 6.38 -1.2151194e-04 -2.1405135e-04 +3187 6.382 -1.2108459e-04 -2.1329953e-04 +3188 6.384 -1.2065874e-04 -2.1255034e-04 +3189 6.386 -1.2023439e-04 -2.1180378e-04 +3190 6.388 -1.1981152e-04 -2.1105983e-04 +3191 6.39 -1.1939015e-04 -2.1031848e-04 +3192 6.392 -1.1897025e-04 -2.0957974e-04 +3193 6.394 -1.1855182e-04 -2.0884358e-04 +3194 6.396 -1.1813487e-04 -2.0811000e-04 +3195 6.398 -1.1771938e-04 -2.0737899e-04 +3196 6.4 -1.1730535e-04 -2.0665054e-04 +3197 6.402 -1.1689278e-04 -2.0592465e-04 +3198 6.404 -1.1648165e-04 -2.0520129e-04 +3199 6.406 -1.1607197e-04 -2.0448048e-04 +3200 6.408 -1.1566373e-04 -2.0376219e-04 +3201 6.41 -1.1525692e-04 -2.0304641e-04 +3202 6.412 -1.1485154e-04 -2.0233314e-04 +3203 6.414 -1.1444759e-04 -2.0162238e-04 +3204 6.416 -1.1404505e-04 -2.0091410e-04 +3205 6.418 -1.1364393e-04 -2.0020831e-04 +3206 6.42 -1.1324422e-04 -1.9950498e-04 +3207 6.422 -1.1284591e-04 -1.9880413e-04 +3208 6.424 -1.1244900e-04 -1.9810573e-04 +3209 6.426 -1.1205348e-04 -1.9740977e-04 +3210 6.428 -1.1165936e-04 -1.9671626e-04 +3211 6.43 -1.1126662e-04 -1.9602518e-04 +3212 6.432 -1.1087526e-04 -1.9533652e-04 +3213 6.434 -1.1048527e-04 -1.9465027e-04 +3214 6.436 -1.1009665e-04 -1.9396642e-04 +3215 6.438 -1.0970940e-04 -1.9328498e-04 +3216 6.44 -1.0932351e-04 -1.9260592e-04 +3217 6.442 -1.0893898e-04 -1.9192924e-04 +3218 6.444 -1.0855579e-04 -1.9125494e-04 +3219 6.446 -1.0817396e-04 -1.9058300e-04 +3220 6.448 -1.0779346e-04 -1.8991341e-04 +3221 6.45 -1.0741430e-04 -1.8924617e-04 +3222 6.452 -1.0703647e-04 -1.8858127e-04 +3223 6.454 -1.0665997e-04 -1.8791870e-04 +3224 6.456 -1.0628480e-04 -1.8725845e-04 +3225 6.458 -1.0591094e-04 -1.8660052e-04 +3226 6.46 -1.0553839e-04 -1.8594489e-04 +3227 6.462 -1.0516716e-04 -1.8529156e-04 +3228 6.464 -1.0479723e-04 -1.8464052e-04 +3229 6.466 -1.0442859e-04 -1.8399177e-04 +3230 6.468 -1.0406126e-04 -1.8334528e-04 +3231 6.47 -1.0369521e-04 -1.8270107e-04 +3232 6.472 -1.0333045e-04 -1.8205911e-04 +3233 6.474 -1.0296697e-04 -1.8141941e-04 +3234 6.476 -1.0260477e-04 -1.8078194e-04 +3235 6.478 -1.0224384e-04 -1.8014671e-04 +3236 6.48 -1.0188418e-04 -1.7951371e-04 +3237 6.482 -1.0152579e-04 -1.7888293e-04 +3238 6.484 -1.0116865e-04 -1.7825436e-04 +3239 6.486 -1.0081277e-04 -1.7762799e-04 +3240 6.488 -1.0045814e-04 -1.7700382e-04 +3241 6.49 -1.0010475e-04 -1.7638184e-04 +3242 6.492 -9.9752608e-05 -1.7576204e-04 +3243 6.494 -9.9401702e-05 -1.7514441e-04 +3244 6.496 -9.9052029e-05 -1.7452895e-04 +3245 6.498 -9.8703585e-05 -1.7391565e-04 +3246 6.5 -9.8356365e-05 -1.7330449e-04 +3247 6.502 -9.8010365e-05 -1.7269548e-04 +3248 6.504 -9.7665582e-05 -1.7208861e-04 +3249 6.506 -9.7322010e-05 -1.7148386e-04 +3250 6.508 -9.6979645e-05 -1.7088124e-04 +3251 6.51 -9.6638483e-05 -1.7028072e-04 +3252 6.512 -9.6298521e-05 -1.6968232e-04 +3253 6.514 -9.5959753e-05 -1.6908601e-04 +3254 6.516 -9.5622175e-05 -1.6849179e-04 +3255 6.518 -9.5285784e-05 -1.6789966e-04 +3256 6.52 -9.4950575e-05 -1.6730961e-04 +3257 6.522 -9.4616544e-05 -1.6672162e-04 +3258 6.524 -9.4283687e-05 -1.6613569e-04 +3259 6.526 -9.3952000e-05 -1.6555183e-04 +3260 6.528 -9.3621479e-05 -1.6497000e-04 +3261 6.53 -9.3292119e-05 -1.6439022e-04 +3262 6.532 -9.2963916e-05 -1.6381248e-04 +3263 6.534 -9.2636867e-05 -1.6323675e-04 +3264 6.536 -9.2310968e-05 -1.6266305e-04 +3265 6.538 -9.1986214e-05 -1.6209136e-04 +3266 6.54 -9.1662601e-05 -1.6152168e-04 +3267 6.542 -9.1340126e-05 -1.6095399e-04 +3268 6.544 -9.1018784e-05 -1.6038830e-04 +3269 6.546 -9.0698571e-05 -1.5982459e-04 +3270 6.548 -9.0379484e-05 -1.5926286e-04 +3271 6.55 -9.0061519e-05 -1.5870309e-04 +3272 6.552 -8.9744671e-05 -1.5814530e-04 +3273 6.554 -8.9428936e-05 -1.5758945e-04 +3274 6.556 -8.9114311e-05 -1.5703556e-04 +3275 6.558 -8.8800793e-05 -1.5648361e-04 +3276 6.56 -8.8488376e-05 -1.5593360e-04 +3277 6.562 -8.8177057e-05 -1.5538552e-04 +3278 6.564 -8.7866832e-05 -1.5483936e-04 +3279 6.566 -8.7557698e-05 -1.5429511e-04 +3280 6.568 -8.7249651e-05 -1.5375278e-04 +3281 6.57 -8.6942686e-05 -1.5321234e-04 +3282 6.572 -8.6636800e-05 -1.5267381e-04 +3283 6.574 -8.6331989e-05 -1.5213716e-04 +3284 6.576 -8.6028250e-05 -1.5160240e-04 +3285 6.578 -8.5725578e-05 -1.5106951e-04 +3286 6.58 -8.5423971e-05 -1.5053849e-04 +3287 6.582 -8.5123423e-05 -1.5000934e-04 +3288 6.584 -8.4823932e-05 -1.4948204e-04 +3289 6.586 -8.4525494e-05 -1.4895659e-04 +3290 6.588 -8.4228105e-05 -1.4843298e-04 +3291 6.59 -8.3931761e-05 -1.4791122e-04 +3292 6.592 -8.3636459e-05 -1.4739128e-04 +3293 6.594 -8.3342194e-05 -1.4687317e-04 +3294 6.596 -8.3048965e-05 -1.4635687e-04 +3295 6.598 -8.2756766e-05 -1.4584239e-04 +3296 6.6 -8.2465594e-05 -1.4532971e-04 +3297 6.602 -8.2175446e-05 -1.4481883e-04 +3298 6.604 -8.1886317e-05 -1.4430975e-04 +3299 6.606 -8.1598205e-05 -1.4380245e-04 +3300 6.608 -8.1311106e-05 -1.4329693e-04 +3301 6.61 -8.1025017e-05 -1.4279319e-04 +3302 6.612 -8.0739932e-05 -1.4229121e-04 +3303 6.614 -8.0455851e-05 -1.4179099e-04 +3304 6.616 -8.0172767e-05 -1.4129253e-04 +3305 6.618 -7.9890679e-05 -1.4079582e-04 +3306 6.62 -7.9609583e-05 -1.4030085e-04 +3307 6.622 -7.9329475e-05 -1.3980762e-04 +3308 6.624 -7.9050351e-05 -1.3931612e-04 +3309 6.626 -7.8772209e-05 -1.3882635e-04 +3310 6.628 -7.8495045e-05 -1.3833829e-04 +3311 6.63 -7.8218855e-05 -1.3785195e-04 +3312 6.632 -7.7943636e-05 -1.3736731e-04 +3313 6.634 -7.7669384e-05 -1.3688438e-04 +3314 6.636 -7.7396097e-05 -1.3640314e-04 +3315 6.638 -7.7123771e-05 -1.3592359e-04 +3316 6.64 -7.6852402e-05 -1.3544572e-04 +3317 6.642 -7.6581987e-05 -1.3496953e-04 +3318 6.644 -7.6312522e-05 -1.3449501e-04 +3319 6.646 -7.6044005e-05 -1.3402216e-04 +3320 6.648 -7.5776433e-05 -1.3355096e-04 +3321 6.65 -7.5509801e-05 -1.3308142e-04 +3322 6.652 -7.5244106e-05 -1.3261353e-04 +3323 6.654 -7.4979345e-05 -1.3214728e-04 +3324 6.656 -7.4715516e-05 -1.3168267e-04 +3325 6.658 -7.4452614e-05 -1.3121969e-04 +3326 6.66 -7.4190636e-05 -1.3075833e-04 +3327 6.662 -7.3929579e-05 -1.3029859e-04 +3328 6.664 -7.3669440e-05 -1.2984047e-04 +3329 6.666 -7.3410216e-05 -1.2938396e-04 +3330 6.668 -7.3151903e-05 -1.2892904e-04 +3331 6.67 -7.2894499e-05 -1.2847573e-04 +3332 6.672 -7.2637999e-05 -1.2802400e-04 +3333 6.674 -7.2382402e-05 -1.2757387e-04 +3334 6.676 -7.2127703e-05 -1.2712531e-04 +3335 6.678 -7.1873900e-05 -1.2667832e-04 +3336 6.68 -7.1620989e-05 -1.2623291e-04 +3337 6.682 -7.1368967e-05 -1.2578906e-04 +3338 6.684 -7.1117831e-05 -1.2534677e-04 +3339 6.686 -7.0867579e-05 -1.2490603e-04 +3340 6.688 -7.0618206e-05 -1.2446683e-04 +3341 6.69 -7.0369710e-05 -1.2402918e-04 +3342 6.692 -7.0122088e-05 -1.2359307e-04 +3343 6.694 -6.9875337e-05 -1.2315849e-04 +3344 6.696 -6.9629453e-05 -1.2272543e-04 +3345 6.698 -6.9384434e-05 -1.2229389e-04 +3346 6.7 -6.9140277e-05 -1.2186387e-04 +3347 6.702 -6.8896978e-05 -1.2143536e-04 +3348 6.704 -6.8654534e-05 -1.2100836e-04 +3349 6.706 -6.8412943e-05 -1.2058285e-04 +3350 6.708 -6.8172202e-05 -1.2015883e-04 +3351 6.71 -6.7932307e-05 -1.1973631e-04 +3352 6.712 -6.7693256e-05 -1.1931527e-04 +3353 6.714 -6.7455045e-05 -1.1889571e-04 +3354 6.716 -6.7217672e-05 -1.1847762e-04 +3355 6.718 -6.6981134e-05 -1.1806099e-04 +3356 6.72 -6.6745427e-05 -1.1764584e-04 +3357 6.722 -6.6510549e-05 -1.1723214e-04 +3358 6.724 -6.6276498e-05 -1.1681989e-04 +3359 6.726 -6.6043269e-05 -1.1640909e-04 +3360 6.728 -6.5810860e-05 -1.1599973e-04 +3361 6.73 -6.5579269e-05 -1.1559181e-04 +3362 6.732 -6.5348492e-05 -1.1518532e-04 +3363 6.734 -6.5118527e-05 -1.1478026e-04 +3364 6.736 -6.4889370e-05 -1.1437662e-04 +3365 6.738 -6.4661019e-05 -1.1397440e-04 +3366 6.74 -6.4433472e-05 -1.1357359e-04 +3367 6.742 -6.4206724e-05 -1.1317419e-04 +3368 6.744 -6.3980774e-05 -1.1277620e-04 +3369 6.746 -6.3755618e-05 -1.1237960e-04 +3370 6.748 -6.3531255e-05 -1.1198439e-04 +3371 6.75 -6.3307680e-05 -1.1159057e-04 +3372 6.752 -6.3084891e-05 -1.1119813e-04 +3373 6.754 -6.2862886e-05 -1.1080707e-04 +3374 6.756 -6.2641662e-05 -1.1041739e-04 +3375 6.758 -6.2421216e-05 -1.1002907e-04 +3376 6.76 -6.2201545e-05 -1.0964212e-04 +3377 6.762 -6.1982646e-05 -1.0925653e-04 +3378 6.764 -6.1764518e-05 -1.0887229e-04 +3379 6.766 -6.1547156e-05 -1.0848940e-04 +3380 6.768 -6.1330559e-05 -1.0810785e-04 +3381 6.77 -6.1114724e-05 -1.0772765e-04 +3382 6.772 -6.0899648e-05 -1.0734878e-04 +3383 6.774 -6.0685328e-05 -1.0697124e-04 +3384 6.776 -6.0471762e-05 -1.0659503e-04 +3385 6.778 -6.0258947e-05 -1.0622014e-04 +3386 6.78 -6.0046881e-05 -1.0584656e-04 +3387 6.782 -5.9835560e-05 -1.0547430e-04 +3388 6.784 -5.9624983e-05 -1.0510335e-04 +3389 6.786 -5.9415146e-05 -1.0473370e-04 +3390 6.788 -5.9206047e-05 -1.0436534e-04 +3391 6.79 -5.8997683e-05 -1.0399828e-04 +3392 6.792 -5.8790053e-05 -1.0363251e-04 +3393 6.794 -5.8583153e-05 -1.0326803e-04 +3394 6.796 -5.8376980e-05 -1.0290482e-04 +3395 6.798 -5.8171532e-05 -1.0254289e-04 +3396 6.8 -5.7966807e-05 -1.0218224e-04 +3397 6.802 -5.7762803e-05 -1.0182285e-04 +3398 6.804 -5.7559515e-05 -1.0146472e-04 +3399 6.806 -5.7356943e-05 -1.0110785e-04 +3400 6.808 -5.7155083e-05 -1.0075223e-04 +3401 6.81 -5.6953933e-05 -1.0039786e-04 +3402 6.812 -5.6753491e-05 -1.0004474e-04 +3403 6.814 -5.6553753e-05 -9.9692859e-05 +3404 6.816 -5.6354718e-05 -9.9342214e-05 +3405 6.818 -5.6156384e-05 -9.8992799e-05 +3406 6.82 -5.5958746e-05 -9.8644613e-05 +3407 6.822 -5.5761804e-05 -9.8297650e-05 +3408 6.824 -5.5565555e-05 -9.7951905e-05 +3409 6.826 -5.5369996e-05 -9.7607376e-05 +3410 6.828 -5.5175125e-05 -9.7264056e-05 +3411 6.83 -5.4980939e-05 -9.6921943e-05 +3412 6.832 -5.4787436e-05 -9.6581032e-05 +3413 6.834 -5.4594614e-05 -9.6241318e-05 +3414 6.836 -5.4402470e-05 -9.5902798e-05 +3415 6.838 -5.4211002e-05 -9.5565467e-05 +3416 6.84 -5.4020207e-05 -9.5229322e-05 +3417 6.842 -5.3830084e-05 -9.4894357e-05 +3418 6.844 -5.3640629e-05 -9.4560569e-05 +3419 6.846 -5.3451841e-05 -9.4227954e-05 +3420 6.848 -5.3263717e-05 -9.3896508e-05 +3421 6.85 -5.3076254e-05 -9.3566226e-05 +3422 6.852 -5.2889451e-05 -9.3237105e-05 +3423 6.854 -5.2703305e-05 -9.2909140e-05 +3424 6.856 -5.2517814e-05 -9.2582327e-05 +3425 6.858 -5.2332975e-05 -9.2256662e-05 +3426 6.86 -5.2148786e-05 -9.1932142e-05 +3427 6.862 -5.1965246e-05 -9.1608762e-05 +3428 6.864 -5.1782350e-05 -9.1286519e-05 +3429 6.866 -5.1600099e-05 -9.0965407e-05 +3430 6.868 -5.1418488e-05 -9.0645424e-05 +3431 6.87 -5.1237516e-05 -9.0326565e-05 +3432 6.872 -5.1057181e-05 -9.0008827e-05 +3433 6.874 -5.0877480e-05 -8.9692205e-05 +3434 6.876 -5.0698411e-05 -8.9376696e-05 +3435 6.878 -5.0519973e-05 -8.9062295e-05 +3436 6.88 -5.0342162e-05 -8.8748999e-05 +3437 6.882 -5.0164976e-05 -8.8436804e-05 +3438 6.884 -4.9988414e-05 -8.8125706e-05 +3439 6.886 -4.9812472e-05 -8.7815702e-05 +3440 6.888 -4.9637150e-05 -8.7506786e-05 +3441 6.89 -4.9462445e-05 -8.7198956e-05 +3442 6.892 -4.9288354e-05 -8.6892208e-05 +3443 6.894 -4.9114875e-05 -8.6586538e-05 +3444 6.896 -4.8942007e-05 -8.6281942e-05 +3445 6.898 -4.8769746e-05 -8.5978416e-05 +3446 6.9 -4.8598092e-05 -8.5675957e-05 +3447 6.902 -4.8427042e-05 -8.5374561e-05 +3448 6.904 -4.8256593e-05 -8.5074224e-05 +3449 6.906 -4.8086744e-05 -8.4774943e-05 +3450 6.908 -4.7917493e-05 -8.4476713e-05 +3451 6.91 -4.7748837e-05 -8.4179531e-05 +3452 6.912 -4.7580774e-05 -8.3883394e-05 +3453 6.914 -4.7413303e-05 -8.3588297e-05 +3454 6.916 -4.7246420e-05 -8.3294238e-05 +3455 6.918 -4.7080125e-05 -8.3001212e-05 +3456 6.92 -4.6914415e-05 -8.2709215e-05 +3457 6.922 -4.6749287e-05 -8.2418245e-05 +3458 6.924 -4.6584741e-05 -8.2128298e-05 +3459 6.926 -4.6420773e-05 -8.1839369e-05 +3460 6.928 -4.6257383e-05 -8.1551456e-05 +3461 6.93 -4.6094567e-05 -8.1264555e-05 +3462 6.932 -4.5932324e-05 -8.0978663e-05 +3463 6.934 -4.5770652e-05 -8.0693775e-05 +3464 6.936 -4.5609548e-05 -8.0409888e-05 +3465 6.938 -4.5449011e-05 -8.0126999e-05 +3466 6.94 -4.5289039e-05 -7.9845104e-05 +3467 6.942 -4.5129630e-05 -7.9564200e-05 +3468 6.944 -4.4970782e-05 -7.9284284e-05 +3469 6.946 -4.4812493e-05 -7.9005351e-05 +3470 6.948 -4.4654760e-05 -7.8727399e-05 +3471 6.95 -4.4497582e-05 -7.8450423e-05 +3472 6.952 -4.4340958e-05 -7.8174421e-05 +3473 6.954 -4.4184884e-05 -7.7899389e-05 +3474 6.956 -4.4029359e-05 -7.7625324e-05 +3475 6.958 -4.3874382e-05 -7.7352222e-05 +3476 6.96 -4.3719950e-05 -7.7080080e-05 +3477 6.962 -4.3566061e-05 -7.6808895e-05 +3478 6.964 -4.3412714e-05 -7.6538663e-05 +3479 6.966 -4.3259906e-05 -7.6269380e-05 +3480 6.968 -4.3107636e-05 -7.6001045e-05 +3481 6.97 -4.2955901e-05 -7.5733652e-05 +3482 6.972 -4.2804700e-05 -7.5467199e-05 +3483 6.974 -4.2654032e-05 -7.5201683e-05 +3484 6.976 -4.2503893e-05 -7.4937100e-05 +3485 6.978 -4.2354283e-05 -7.4673448e-05 +3486 6.98 -4.2205199e-05 -7.4410722e-05 +3487 6.982 -4.2056639e-05 -7.4148919e-05 +3488 6.984 -4.1908602e-05 -7.3888037e-05 +3489 6.986 -4.1761086e-05 -7.3628072e-05 +3490 6.988 -4.1614089e-05 -7.3369021e-05 +3491 6.99 -4.1467610e-05 -7.3110880e-05 +3492 6.992 -4.1321645e-05 -7.2853647e-05 +3493 6.994 -4.1176194e-05 -7.2597318e-05 +3494 6.996 -4.1031255e-05 -7.2341890e-05 +3495 6.998 -4.0886826e-05 -7.2087360e-05 +3496 7.0 -4.0742905e-05 -7.1833725e-05 +3497 7.002 -4.0599491e-05 -7.1580981e-05 +3498 7.004 -4.0456581e-05 -7.1329126e-05 +3499 7.006 -4.0314174e-05 -7.1078156e-05 +3500 7.008 -4.0172268e-05 -7.0828069e-05 +3501 7.01 -4.0030861e-05 -7.0578860e-05 +3502 7.012 -3.9889952e-05 -7.0330528e-05 +3503 7.014 -3.9749538e-05 -7.0083069e-05 +3504 7.016 -3.9609619e-05 -6.9836480e-05 +3505 7.018 -3.9470192e-05 -6.9590757e-05 +3506 7.02 -3.9331255e-05 -6.9345899e-05 +3507 7.022 -3.9192807e-05 -6.9101901e-05 +3508 7.024 -3.9054847e-05 -6.8858761e-05 +3509 7.026 -3.8917372e-05 -6.8616476e-05 +3510 7.028 -3.8780380e-05 -6.8375043e-05 +3511 7.03 -3.8643871e-05 -6.8134458e-05 +3512 7.032 -3.8507842e-05 -6.7894720e-05 +3513 7.034 -3.8372292e-05 -6.7655824e-05 +3514 7.036 -3.8237218e-05 -6.7417768e-05 +3515 7.038 -3.8102620e-05 -6.7180549e-05 +3516 7.04 -3.7968495e-05 -6.6944164e-05 +3517 7.042 -3.7834843e-05 -6.6708610e-05 +3518 7.044 -3.7701660e-05 -6.6473884e-05 +3519 7.046 -3.7568947e-05 -6.6239984e-05 +3520 7.048 -3.7436700e-05 -6.6006906e-05 +3521 7.05 -3.7304919e-05 -6.5774647e-05 +3522 7.052 -3.7173601e-05 -6.5543205e-05 +3523 7.054 -3.7042745e-05 -6.5312576e-05 +3524 7.056 -3.6912350e-05 -6.5082759e-05 +3525 7.058 -3.6782414e-05 -6.4853750e-05 +3526 7.06 -3.6652934e-05 -6.4625545e-05 +3527 7.062 -3.6523911e-05 -6.4398143e-05 +3528 7.064 -3.6395341e-05 -6.4171541e-05 +3529 7.066 -3.6267224e-05 -6.3945735e-05 +3530 7.068 -3.6139558e-05 -6.3720724e-05 +3531 7.07 -3.6012341e-05 -6.3496503e-05 +3532 7.072 -3.5885571e-05 -6.3273071e-05 +3533 7.074 -3.5759248e-05 -6.3050425e-05 +3534 7.076 -3.5633369e-05 -6.2828561e-05 +3535 7.078 -3.5507933e-05 -6.2607477e-05 +3536 7.08 -3.5382939e-05 -6.2387171e-05 +3537 7.082 -3.5258384e-05 -6.2167640e-05 +3538 7.084 -3.5134268e-05 -6.1948880e-05 +3539 7.086 -3.5010588e-05 -6.1730890e-05 +3540 7.088 -3.4887344e-05 -6.1513666e-05 +3541 7.09 -3.4764533e-05 -6.1297206e-05 +3542 7.092 -3.4642154e-05 -6.1081507e-05 +3543 7.094 -3.4520206e-05 -6.0866566e-05 +3544 7.096 -3.4398687e-05 -6.0652381e-05 +3545 7.098 -3.4277596e-05 -6.0438950e-05 +3546 7.1 -3.4156931e-05 -6.0226269e-05 +3547 7.102 -3.4036691e-05 -6.0014336e-05 +3548 7.104 -3.3916873e-05 -5.9803148e-05 +3549 7.106 -3.3797478e-05 -5.9592702e-05 +3550 7.108 -3.3678502e-05 -5.9382997e-05 +3551 7.11 -3.3559945e-05 -5.9174029e-05 +3552 7.112 -3.3441805e-05 -5.8965796e-05 +3553 7.114 -3.3324081e-05 -5.8758295e-05 +3554 7.116 -3.3206772e-05 -5.8551524e-05 +3555 7.118 -3.3089875e-05 -5.8345480e-05 +3556 7.12 -3.2973389e-05 -5.8140160e-05 +3557 7.122 -3.2857314e-05 -5.7935563e-05 +3558 7.124 -3.2741647e-05 -5.7731685e-05 +3559 7.126 -3.2626387e-05 -5.7528524e-05 +3560 7.128 -3.2511532e-05 -5.7326077e-05 +3561 7.13 -3.2397082e-05 -5.7124342e-05 +3562 7.132 -3.2283034e-05 -5.6923317e-05 +3563 7.134 -3.2169388e-05 -5.6722999e-05 +3564 7.136 -3.2056142e-05 -5.6523385e-05 +3565 7.138 -3.1943294e-05 -5.6324473e-05 +3566 7.14 -3.1830843e-05 -5.6126261e-05 +3567 7.142 -3.1718788e-05 -5.5928745e-05 +3568 7.144 -3.1607128e-05 -5.5731925e-05 +3569 7.146 -3.1495860e-05 -5.5535796e-05 +3570 7.148 -3.1384984e-05 -5.5340357e-05 +3571 7.15 -3.1274498e-05 -5.5145606e-05 +3572 7.152 -3.1164401e-05 -5.4951539e-05 +3573 7.154 -3.1054692e-05 -5.4758155e-05 +3574 7.156 -3.0945368e-05 -5.4565451e-05 +3575 7.158 -3.0836430e-05 -5.4373425e-05 +3576 7.16 -3.0727874e-05 -5.4182074e-05 +3577 7.162 -3.0619701e-05 -5.3991396e-05 +3578 7.164 -3.0511908e-05 -5.3801389e-05 +3579 7.166 -3.0404495e-05 -5.3612049e-05 +3580 7.168 -3.0297459e-05 -5.3423376e-05 +3581 7.17 -3.0190801e-05 -5.3235366e-05 +3582 7.172 -3.0084518e-05 -5.3048018e-05 +3583 7.174 -2.9978608e-05 -5.2861328e-05 +3584 7.176 -2.9873072e-05 -5.2675295e-05 +3585 7.178 -2.9767907e-05 -5.2489917e-05 +3586 7.18 -2.9663112e-05 -5.2305190e-05 +3587 7.182 -2.9558686e-05 -5.2121113e-05 +3588 7.184 -2.9454627e-05 -5.1937683e-05 +3589 7.186 -2.9350934e-05 -5.1754899e-05 +3590 7.188 -2.9247607e-05 -5.1572757e-05 +3591 7.19 -2.9144643e-05 -5.1391256e-05 +3592 7.192 -2.9042041e-05 -5.1210394e-05 +3593 7.194 -2.8939801e-05 -5.1030167e-05 +3594 7.196 -2.8837920e-05 -5.0850574e-05 +3595 7.198 -2.8736398e-05 -5.0671613e-05 +3596 7.2 -2.8635233e-05 -5.0493282e-05 +3597 7.202 -2.8534425e-05 -5.0315577e-05 +3598 7.204 -2.8433971e-05 -5.0138498e-05 +3599 7.206 -2.8333870e-05 -4.9962042e-05 +3600 7.208 -2.8234122e-05 -4.9786206e-05 +3601 7.21 -2.8134725e-05 -4.9610989e-05 +3602 7.212 -2.8035678e-05 -4.9436387e-05 +3603 7.214 -2.7936979e-05 -4.9262401e-05 +3604 7.216 -2.7838628e-05 -4.9089026e-05 +3605 7.218 -2.7740623e-05 -4.8916260e-05 +3606 7.22 -2.7642962e-05 -4.8744103e-05 +3607 7.222 -2.7545646e-05 -4.8572551e-05 +3608 7.224 -2.7448672e-05 -4.8401602e-05 +3609 7.226 -2.7352039e-05 -4.8231255e-05 +3610 7.228 -2.7255746e-05 -4.8061507e-05 +3611 7.23 -2.7159792e-05 -4.7892356e-05 +3612 7.232 -2.7064176e-05 -4.7723800e-05 +3613 7.234 -2.6968897e-05 -4.7555837e-05 +3614 7.236 -2.6873953e-05 -4.7388464e-05 +3615 7.238 -2.6779343e-05 -4.7221681e-05 +3616 7.24 -2.6685066e-05 -4.7055484e-05 +3617 7.242 -2.6591120e-05 -4.6889871e-05 +3618 7.244 -2.6497506e-05 -4.6724842e-05 +3619 7.246 -2.6404221e-05 -4.6560392e-05 +3620 7.248 -2.6311264e-05 -4.6396521e-05 +3621 7.25 -2.6218634e-05 -4.6233227e-05 +3622 7.252 -2.6126330e-05 -4.6070507e-05 +3623 7.254 -2.6034352e-05 -4.5908359e-05 +3624 7.256 -2.5942697e-05 -4.5746782e-05 +3625 7.258 -2.5851364e-05 -4.5585773e-05 +3626 7.26 -2.5760353e-05 -4.5425331e-05 +3627 7.262 -2.5669662e-05 -4.5265452e-05 +3628 7.264 -2.5579291e-05 -4.5106137e-05 +3629 7.266 -2.5489238e-05 -4.4947381e-05 +3630 7.268 -2.5399501e-05 -4.4789184e-05 +3631 7.27 -2.5310080e-05 -4.4631544e-05 +3632 7.272 -2.5220975e-05 -4.4474458e-05 +3633 7.274 -2.5132182e-05 -4.4317925e-05 +3634 7.276 -2.5043702e-05 -4.4161942e-05 +3635 7.278 -2.4955534e-05 -4.4006508e-05 +3636 7.28 -2.4867676e-05 -4.3851621e-05 +3637 7.282 -2.4780127e-05 -4.3697278e-05 +3638 7.284 -2.4692887e-05 -4.3543479e-05 +3639 7.286 -2.4605953e-05 -4.3390221e-05 +3640 7.288 -2.4519325e-05 -4.3237502e-05 +3641 7.29 -2.4433003e-05 -4.3085320e-05 +3642 7.292 -2.4346984e-05 -4.2933673e-05 +3643 7.294 -2.4261268e-05 -4.2782560e-05 +3644 7.296 -2.4175853e-05 -4.2631978e-05 +3645 7.298 -2.4090739e-05 -4.2481926e-05 +3646 7.3 -2.4005925e-05 -4.2332402e-05 +3647 7.302 -2.3921409e-05 -4.2183404e-05 +3648 7.304 -2.3837191e-05 -4.2034931e-05 +3649 7.306 -2.3753269e-05 -4.1886979e-05 +3650 7.308 -2.3669643e-05 -4.1739548e-05 +3651 7.31 -2.3586311e-05 -4.1592636e-05 +3652 7.312 -2.3503272e-05 -4.1446240e-05 +3653 7.314 -2.3420525e-05 -4.1300360e-05 +3654 7.316 -2.3338070e-05 -4.1154992e-05 +3655 7.318 -2.3255905e-05 -4.1010137e-05 +3656 7.32 -2.3174029e-05 -4.0865790e-05 +3657 7.322 -2.3092442e-05 -4.0721952e-05 +3658 7.324 -2.3011141e-05 -4.0578619e-05 +3659 7.326 -2.2930127e-05 -4.0435791e-05 +3660 7.328 -2.2849398e-05 -4.0293466e-05 +3661 7.33 -2.2768953e-05 -4.0151641e-05 +3662 7.332 -2.2688791e-05 -4.0010314e-05 +3663 7.334 -2.2608911e-05 -3.9869486e-05 +3664 7.336 -2.2529312e-05 -3.9729152e-05 +3665 7.338 -2.2449994e-05 -3.9589313e-05 +3666 7.34 -2.2370955e-05 -3.9449965e-05 +3667 7.342 -2.2292194e-05 -3.9311107e-05 +3668 7.344 -2.2213710e-05 -3.9172738e-05 +3669 7.346 -2.2135503e-05 -3.9034856e-05 +3670 7.348 -2.2057570e-05 -3.8897459e-05 +3671 7.35 -2.1979912e-05 -3.8760546e-05 +3672 7.352 -2.1902528e-05 -3.8624114e-05 +3673 7.354 -2.1825416e-05 -3.8488162e-05 +3674 7.356 -2.1748575e-05 -3.8352688e-05 +3675 7.358 -2.1672005e-05 -3.8217691e-05 +3676 7.36 -2.1595704e-05 -3.8083169e-05 +3677 7.362 -2.1519672e-05 -3.7949120e-05 +3678 7.364 -2.1443907e-05 -3.7815543e-05 +3679 7.366 -2.1368409e-05 -3.7682436e-05 +3680 7.368 -2.1293177e-05 -3.7549797e-05 +3681 7.37 -2.1218210e-05 -3.7417625e-05 +3682 7.372 -2.1143506e-05 -3.7285917e-05 +3683 7.374 -2.1069066e-05 -3.7154674e-05 +3684 7.376 -2.0994887e-05 -3.7023892e-05 +3685 7.378 -2.0920970e-05 -3.6893570e-05 +3686 7.38 -2.0847313e-05 -3.6763706e-05 +3687 7.382 -2.0773915e-05 -3.6634300e-05 +3688 7.384 -2.0700775e-05 -3.6505349e-05 +3689 7.386 -2.0627893e-05 -3.6376851e-05 +3690 7.388 -2.0555267e-05 -3.6248806e-05 +3691 7.39 -2.0482897e-05 -3.6121211e-05 +3692 7.392 -2.0410782e-05 -3.5994065e-05 +3693 7.394 -2.0338921e-05 -3.5867366e-05 +3694 7.396 -2.0267312e-05 -3.5741114e-05 +3695 7.398 -2.0195956e-05 -3.5615305e-05 +3696 7.4 -2.0124851e-05 -3.5489939e-05 +3697 7.402 -2.0053996e-05 -3.5365014e-05 +3698 7.404 -1.9983391e-05 -3.5240529e-05 +3699 7.406 -1.9913034e-05 -3.5116482e-05 +3700 7.408 -1.9842924e-05 -3.4992871e-05 +3701 7.41 -1.9773062e-05 -3.4869695e-05 +3702 7.412 -1.9703445e-05 -3.4746953e-05 +3703 7.414 -1.9634074e-05 -3.4624642e-05 +3704 7.416 -1.9564946e-05 -3.4502762e-05 +3705 7.418 -1.9496062e-05 -3.4381310e-05 +3706 7.42 -1.9427421e-05 -3.4260286e-05 +3707 7.422 -1.9359021e-05 -3.4139688e-05 +3708 7.424 -1.9290862e-05 -3.4019514e-05 +3709 7.426 -1.9222943e-05 -3.3899763e-05 +3710 7.428 -1.9155263e-05 -3.3780433e-05 +3711 7.43 -1.9087821e-05 -3.3661524e-05 +3712 7.432 -1.9020616e-05 -3.3543032e-05 +3713 7.434 -1.8953648e-05 -3.3424958e-05 +3714 7.436 -1.8886916e-05 -3.3307299e-05 +3715 7.438 -1.8820419e-05 -3.3190054e-05 +3716 7.44 -1.8754156e-05 -3.3073221e-05 +3717 7.442 -1.8688126e-05 -3.2956800e-05 +3718 7.444 -1.8622328e-05 -3.2840788e-05 +3719 7.446 -1.8556762e-05 -3.2725185e-05 +3720 7.448 -1.8491427e-05 -3.2609988e-05 +3721 7.45 -1.8426322e-05 -3.2495196e-05 +3722 7.452 -1.8361446e-05 -3.2380809e-05 +3723 7.454 -1.8296799e-05 -3.2266824e-05 +3724 7.456 -1.8232379e-05 -3.2153240e-05 +3725 7.458 -1.8168185e-05 -3.2040056e-05 +3726 7.46 -1.8104218e-05 -3.1927270e-05 +3727 7.462 -1.8040476e-05 -3.1814881e-05 +3728 7.464 -1.7976958e-05 -3.1702887e-05 +3729 7.466 -1.7913664e-05 -3.1591288e-05 +3730 7.468 -1.7850593e-05 -3.1480081e-05 +3731 7.47 -1.7787744e-05 -3.1369266e-05 +3732 7.472 -1.7725116e-05 -3.1258840e-05 +3733 7.474 -1.7662708e-05 -3.1148803e-05 +3734 7.476 -1.7600520e-05 -3.1039153e-05 +3735 7.478 -1.7538551e-05 -3.0929889e-05 +3736 7.48 -1.7476800e-05 -3.0821010e-05 +3737 7.482 -1.7415267e-05 -3.0712514e-05 +3738 7.484 -1.7353950e-05 -3.0604399e-05 +3739 7.486 -1.7292849e-05 -3.0496665e-05 +3740 7.488 -1.7231963e-05 -3.0389310e-05 +3741 7.49 -1.7171291e-05 -3.0282333e-05 +3742 7.492 -1.7110833e-05 -3.0175732e-05 +3743 7.494 -1.7050588e-05 -3.0069506e-05 +3744 7.496 -1.6990555e-05 -2.9963655e-05 +3745 7.498 -1.6930733e-05 -2.9858175e-05 +3746 7.5 -1.6871122e-05 -2.9753067e-05 +3747 7.502 -1.6811721e-05 -2.9648329e-05 +3748 7.504 -1.6752529e-05 -2.9543959e-05 +3749 7.506 -1.6693545e-05 -2.9439957e-05 +3750 7.508 -1.6634769e-05 -2.9336320e-05 +3751 7.51 -1.6576199e-05 -2.9233049e-05 +3752 7.512 -1.6517836e-05 -2.9130140e-05 +3753 7.514 -1.6459678e-05 -2.9027594e-05 +3754 7.516 -1.6401726e-05 -2.8925409e-05 +3755 7.518 -1.6343977e-05 -2.8823583e-05 +3756 7.52 -1.6286431e-05 -2.8722116e-05 +3757 7.522 -1.6229088e-05 -2.8621005e-05 +3758 7.524 -1.6171947e-05 -2.8520251e-05 +3759 7.526 -1.6115007e-05 -2.8419851e-05 +3760 7.528 -1.6058267e-05 -2.8319804e-05 +3761 7.53 -1.6001727e-05 -2.8220109e-05 +3762 7.532 -1.5945386e-05 -2.8120766e-05 +3763 7.534 -1.5889244e-05 -2.8021772e-05 +3764 7.536 -1.5833299e-05 -2.7923126e-05 +3765 7.538 -1.5777551e-05 -2.7824827e-05 +3766 7.54 -1.5722000e-05 -2.7726875e-05 +3767 7.542 -1.5666643e-05 -2.7629267e-05 +3768 7.544 -1.5611482e-05 -2.7532002e-05 +3769 7.546 -1.5556515e-05 -2.7435080e-05 +3770 7.548 -1.5501742e-05 -2.7338499e-05 +3771 7.55 -1.5447161e-05 -2.7242258e-05 +3772 7.552 -1.5392772e-05 -2.7146355e-05 +3773 7.554 -1.5338575e-05 -2.7050790e-05 +3774 7.556 -1.5284569e-05 -2.6955561e-05 +3775 7.558 -1.5230753e-05 -2.6860668e-05 +3776 7.56 -1.5177126e-05 -2.6766108e-05 +3777 7.562 -1.5123688e-05 -2.6671881e-05 +3778 7.564 -1.5070438e-05 -2.6577986e-05 +3779 7.566 -1.5017376e-05 -2.6484421e-05 +3780 7.568 -1.4964500e-05 -2.6391186e-05 +3781 7.57 -1.4911811e-05 -2.6298278e-05 +3782 7.572 -1.4859307e-05 -2.6205698e-05 +3783 7.574 -1.4806988e-05 -2.6113443e-05 +3784 7.576 -1.4754853e-05 -2.6021513e-05 +3785 7.578 -1.4702902e-05 -2.5929907e-05 +3786 7.58 -1.4651133e-05 -2.5838623e-05 +3787 7.582 -1.4599547e-05 -2.5747660e-05 +3788 7.584 -1.4548142e-05 -2.5657017e-05 +3789 7.586 -1.4496919e-05 -2.5566694e-05 +3790 7.588 -1.4445875e-05 -2.5476688e-05 +3791 7.59 -1.4395012e-05 -2.5386999e-05 +3792 7.592 -1.4344327e-05 -2.5297626e-05 +3793 7.594 -1.4293821e-05 -2.5208567e-05 +3794 7.596 -1.4243493e-05 -2.5119821e-05 +3795 7.598 -1.4193342e-05 -2.5031388e-05 +3796 7.6 -1.4143367e-05 -2.4943267e-05 +3797 7.602 -1.4093568e-05 -2.4855455e-05 +3798 7.604 -1.4043945e-05 -2.4767952e-05 +3799 7.606 -1.3994496e-05 -2.4680757e-05 +3800 7.608 -1.3945222e-05 -2.4593870e-05 +3801 7.61 -1.3896121e-05 -2.4507288e-05 +3802 7.612 -1.3847192e-05 -2.4421010e-05 +3803 7.614 -1.3798436e-05 -2.4335037e-05 +3804 7.616 -1.3749852e-05 -2.4249366e-05 +3805 7.618 -1.3701439e-05 -2.4163996e-05 +3806 7.62 -1.3653196e-05 -2.4078927e-05 +3807 7.622 -1.3605123e-05 -2.3994157e-05 +3808 7.624 -1.3557219e-05 -2.3909686e-05 +3809 7.626 -1.3509484e-05 -2.3825512e-05 +3810 7.628 -1.3461917e-05 -2.3741634e-05 +3811 7.63 -1.3414517e-05 -2.3658051e-05 +3812 7.632 -1.3367284e-05 -2.3574763e-05 +3813 7.634 -1.3320218e-05 -2.3491767e-05 +3814 7.636 -1.3273317e-05 -2.3409064e-05 +3815 7.638 -1.3226581e-05 -2.3326652e-05 +3816 7.64 -1.3180010e-05 -2.3244530e-05 +3817 7.642 -1.3133603e-05 -2.3162697e-05 +3818 7.644 -1.3087359e-05 -2.3081152e-05 +3819 7.646 -1.3041278e-05 -2.2999894e-05 +3820 7.648 -1.2995360e-05 -2.2918922e-05 +3821 7.65 -1.2949603e-05 -2.2838235e-05 +3822 7.652 -1.2904006e-05 -2.2757832e-05 +3823 7.654 -1.2858571e-05 -2.2677712e-05 +3824 7.656 -1.2813295e-05 -2.2597873e-05 +3825 7.658 -1.2768179e-05 -2.2518316e-05 +3826 7.66 -1.2723222e-05 -2.2439039e-05 +3827 7.662 -1.2678423e-05 -2.2360041e-05 +3828 7.664 -1.2633782e-05 -2.2281321e-05 +3829 7.666 -1.2589297e-05 -2.2202878e-05 +3830 7.668 -1.2544970e-05 -2.2124711e-05 +3831 7.67 -1.2500798e-05 -2.2046820e-05 +3832 7.672 -1.2456782e-05 -2.1969202e-05 +3833 7.674 -1.2412921e-05 -2.1891858e-05 +3834 7.676 -1.2369215e-05 -2.1814785e-05 +3835 7.678 -1.2325662e-05 -2.1737984e-05 +3836 7.68 -1.2282263e-05 -2.1661454e-05 +3837 7.682 -1.2239016e-05 -2.1585193e-05 +3838 7.684 -1.2195922e-05 -2.1509200e-05 +3839 7.686 -1.2152979e-05 -2.1433474e-05 +3840 7.688 -1.2110188e-05 -2.1358015e-05 +3841 7.69 -1.2067547e-05 -2.1282822e-05 +3842 7.692 -1.2025056e-05 -2.1207894e-05 +3843 7.694 -1.1982715e-05 -2.1133229e-05 +3844 7.696 -1.1940523e-05 -2.1058827e-05 +3845 7.698 -1.1898480e-05 -2.0984687e-05 +3846 7.7 -1.1856584e-05 -2.0910807e-05 +3847 7.702 -1.1814836e-05 -2.0837188e-05 +3848 7.704 -1.1773235e-05 -2.0763828e-05 +3849 7.706 -1.1731781e-05 -2.0690726e-05 +3850 7.708 -1.1690472e-05 -2.0617882e-05 +3851 7.71 -1.1649309e-05 -2.0545293e-05 +3852 7.712 -1.1608291e-05 -2.0472961e-05 +3853 7.714 -1.1567417e-05 -2.0400883e-05 +3854 7.716 -1.1526687e-05 -2.0329058e-05 +3855 7.718 -1.1486101e-05 -2.0257487e-05 +3856 7.72 -1.1445657e-05 -2.0186167e-05 +3857 7.722 -1.1405356e-05 -2.0115098e-05 +3858 7.724 -1.1365197e-05 -2.0044280e-05 +3859 7.726 -1.1325179e-05 -1.9973711e-05 +3860 7.728 -1.1285302e-05 -1.9903390e-05 +3861 7.73 -1.1245565e-05 -1.9833316e-05 +3862 7.732 -1.1205968e-05 -1.9763490e-05 +3863 7.734 -1.1166511e-05 -1.9693909e-05 +3864 7.736 -1.1127192e-05 -1.9624573e-05 +3865 7.738 -1.1088012e-05 -1.9555481e-05 +3866 7.74 -1.1048970e-05 -1.9486632e-05 +3867 7.742 -1.1010066e-05 -1.9418026e-05 +3868 7.744 -1.0971298e-05 -1.9349661e-05 +3869 7.746 -1.0932667e-05 -1.9281537e-05 +3870 7.748 -1.0894172e-05 -1.9213652e-05 +3871 7.75 -1.0855812e-05 -1.9146007e-05 +3872 7.752 -1.0817587e-05 -1.9078599e-05 +3873 7.754 -1.0779497e-05 -1.9011429e-05 +3874 7.756 -1.0741542e-05 -1.8944495e-05 +3875 7.758 -1.0703719e-05 -1.8877797e-05 +3876 7.76 -1.0666030e-05 -1.8811334e-05 +3877 7.762 -1.0628474e-05 -1.8745104e-05 +3878 7.764 -1.0591050e-05 -1.8679108e-05 +3879 7.766 -1.0553757e-05 -1.8613344e-05 +3880 7.768 -1.0516596e-05 -1.8547812e-05 +3881 7.77 -1.0479566e-05 -1.8482510e-05 +3882 7.772 -1.0442666e-05 -1.8417438e-05 +3883 7.774 -1.0405896e-05 -1.8352595e-05 +3884 7.776 -1.0369255e-05 -1.8287980e-05 +3885 7.778 -1.0332744e-05 -1.8223593e-05 +3886 7.78 -1.0296361e-05 -1.8159432e-05 +3887 7.782 -1.0260106e-05 -1.8095497e-05 +3888 7.784 -1.0223979e-05 -1.8031788e-05 +3889 7.786 -1.0187979e-05 -1.7968302e-05 +3890 7.788 -1.0152105e-05 -1.7905040e-05 +3891 7.79 -1.0116358e-05 -1.7842001e-05 +3892 7.792 -1.0080737e-05 -1.7779184e-05 +3893 7.794 -1.0045242e-05 -1.7716587e-05 +3894 7.796 -1.0009871e-05 -1.7654211e-05 +3895 7.798 -9.9746245e-06 -1.7592055e-05 +3896 7.8 -9.9395024e-06 -1.7530117e-05 +3897 7.802 -9.9045039e-06 -1.7468398e-05 +3898 7.804 -9.8696286e-06 -1.7406895e-05 +3899 7.806 -9.8348762e-06 -1.7345610e-05 +3900 7.808 -9.8002461e-06 -1.7284540e-05 +3901 7.81 -9.7657379e-06 -1.7223684e-05 +3902 7.812 -9.7313512e-06 -1.7163043e-05 +3903 7.814 -9.6970856e-06 -1.7102616e-05 +3904 7.816 -9.6629406e-06 -1.7042401e-05 +3905 7.818 -9.6289158e-06 -1.6982398e-05 +3906 7.82 -9.5950108e-06 -1.6922607e-05 +3907 7.822 -9.5612252e-06 -1.6863026e-05 +3908 7.824 -9.5275586e-06 -1.6803654e-05 +3909 7.826 -9.4940105e-06 -1.6744492e-05 +3910 7.828 -9.4605805e-06 -1.6685538e-05 +3911 7.83 -9.4272682e-06 -1.6626791e-05 +3912 7.832 -9.3940732e-06 -1.6568251e-05 +3913 7.834 -9.3609951e-06 -1.6509918e-05 +3914 7.836 -9.3280334e-06 -1.6451789e-05 +3915 7.838 -9.2951878e-06 -1.6393865e-05 +3916 7.84 -9.2624578e-06 -1.6336146e-05 +3917 7.842 -9.2298430e-06 -1.6278629e-05 +3918 7.844 -9.1973431e-06 -1.6221315e-05 +3919 7.846 -9.1649577e-06 -1.6164202e-05 +3920 7.848 -9.1326862e-06 -1.6107291e-05 +3921 7.85 -9.1005284e-06 -1.6050580e-05 +3922 7.852 -9.0684837e-06 -1.5994068e-05 +3923 7.854 -9.0365520e-06 -1.5937756e-05 +3924 7.856 -9.0047326e-06 -1.5881641e-05 +3925 7.858 -8.9730253e-06 -1.5825724e-05 +3926 7.86 -8.9414296e-06 -1.5770005e-05 +3927 7.862 -8.9099451e-06 -1.5714481e-05 +3928 7.864 -8.8785715e-06 -1.5659152e-05 +3929 7.866 -8.8473084e-06 -1.5604019e-05 +3930 7.868 -8.8161553e-06 -1.5549079e-05 +3931 7.87 -8.7851119e-06 -1.5494333e-05 +3932 7.872 -8.7541778e-06 -1.5439780e-05 +3933 7.874 -8.7233527e-06 -1.5385418e-05 +3934 7.876 -8.6926360e-06 -1.5331248e-05 +3935 7.878 -8.6620276e-06 -1.5277269e-05 +3936 7.88 -8.6315268e-06 -1.5223480e-05 +3937 7.882 -8.6011335e-06 -1.5169880e-05 +3938 7.884 -8.5708472e-06 -1.5116469e-05 +3939 7.886 -8.5406675e-06 -1.5063245e-05 +3940 7.888 -8.5105941e-06 -1.5010210e-05 +3941 7.89 -8.4806265e-06 -1.4957360e-05 +3942 7.892 -8.4507645e-06 -1.4904697e-05 +3943 7.894 -8.4210076e-06 -1.4852220e-05 +3944 7.896 -8.3913555e-06 -1.4799927e-05 +3945 7.898 -8.3618078e-06 -1.4747818e-05 +3946 7.9 -8.3323641e-06 -1.4695892e-05 +3947 7.902 -8.3030241e-06 -1.4644149e-05 +3948 7.904 -8.2737874e-06 -1.4592589e-05 +3949 7.906 -8.2446536e-06 -1.4541210e-05 +3950 7.908 -8.2156224e-06 -1.4490012e-05 +3951 7.91 -8.1866935e-06 -1.4438994e-05 +3952 7.912 -8.1578664e-06 -1.4388155e-05 +3953 7.914 -8.1291407e-06 -1.4337496e-05 +3954 7.916 -8.1005162e-06 -1.4287015e-05 +3955 7.918 -8.0719926e-06 -1.4236712e-05 +3956 7.92 -8.0435693e-06 -1.4186585e-05 +3957 7.922 -8.0152461e-06 -1.4136636e-05 +3958 7.924 -7.9870226e-06 -1.4086862e-05 +3959 7.926 -7.9588985e-06 -1.4037263e-05 +3960 7.928 -7.9308735e-06 -1.3987839e-05 +3961 7.93 -7.9029471e-06 -1.3938589e-05 +3962 7.932 -7.8751190e-06 -1.3889512e-05 +3963 7.934 -7.8473889e-06 -1.3840608e-05 +3964 7.936 -7.8197564e-06 -1.3791876e-05 +3965 7.938 -7.7922213e-06 -1.3743316e-05 +3966 7.94 -7.7647831e-06 -1.3694927e-05 +3967 7.942 -7.7374415e-06 -1.3646708e-05 +3968 7.944 -7.7101961e-06 -1.3598658e-05 +3969 7.946 -7.6830467e-06 -1.3550778e-05 +3970 7.948 -7.6559929e-06 -1.3503067e-05 +3971 7.95 -7.6290343e-06 -1.3455523e-05 +3972 7.952 -7.6021707e-06 -1.3408147e-05 +3973 7.954 -7.5754016e-06 -1.3360937e-05 +3974 7.956 -7.5487268e-06 -1.3313894e-05 +3975 7.958 -7.5221459e-06 -1.3267017e-05 +3976 7.96 -7.4956586e-06 -1.3220304e-05 +3977 7.962 -7.4692646e-06 -1.3173756e-05 +3978 7.964 -7.4429635e-06 -1.3127372e-05 +3979 7.966 -7.4167550e-06 -1.3081151e-05 +3980 7.968 -7.3906388e-06 -1.3035092e-05 +3981 7.97 -7.3646145e-06 -1.2989196e-05 +3982 7.972 -7.3386819e-06 -1.2943462e-05 +3983 7.974 -7.3128406e-06 -1.2897888e-05 +3984 7.976 -7.2870903e-06 -1.2852475e-05 +3985 7.978 -7.2614306e-06 -1.2807222e-05 +3986 7.98 -7.2358613e-06 -1.2762128e-05 +3987 7.982 -7.2103820e-06 -1.2717193e-05 +3988 7.984 -7.1849924e-06 -1.2672416e-05 +3989 7.986 -7.1596922e-06 -1.2627797e-05 +3990 7.988 -7.1344811e-06 -1.2583334e-05 +3991 7.99 -7.1093588e-06 -1.2539029e-05 +3992 7.992 -7.0843249e-06 -1.2494879e-05 +3993 7.994 -7.0593791e-06 -1.2450884e-05 +3994 7.996 -7.0345212e-06 -1.2407045e-05 +3995 7.998 -7.0097509e-06 -1.2363360e-05 +3996 8.0 -6.9850677e-06 -1.2319829e-05 +3997 8.002 -6.9604714e-06 -1.2276450e-05 +3998 8.004 -6.9359618e-06 -1.2233225e-05 +3999 8.006 -6.9115384e-06 -1.2190152e-05 +4000 8.008 -6.8872011e-06 -1.2147230e-05 +4001 8.01 -6.8629494e-06 -1.2104460e-05 +4002 8.012 -6.8387831e-06 -1.2061840e-05 +4003 8.014 -6.8147020e-06 -1.2019370e-05 +4004 8.016 -6.7907056e-06 -1.1977050e-05 +4005 8.018 -6.7667937e-06 -1.1934879e-05 +4006 8.02 -6.7429659e-06 -1.1892856e-05 +4007 8.022 -6.7192221e-06 -1.1850981e-05 +4008 8.024 -6.6955619e-06 -1.1809253e-05 +4009 8.026 -6.6719850e-06 -1.1767673e-05 +4010 8.028 -6.6484911e-06 -1.1726238e-05 +4011 8.03 -6.6250800e-06 -1.1684950e-05 +4012 8.032 -6.6017512e-06 -1.1643807e-05 +4013 8.034 -6.5785046e-06 -1.1602809e-05 +4014 8.036 -6.5553399e-06 -1.1561955e-05 +4015 8.038 -6.5322567e-06 -1.1521245e-05 +4016 8.04 -6.5092548e-06 -1.1480679e-05 +4017 8.042 -6.4863339e-06 -1.1440255e-05 +4018 8.044 -6.4634937e-06 -1.1399973e-05 +4019 8.046 -6.4407339e-06 -1.1359833e-05 +4020 8.048 -6.4180543e-06 -1.1319835e-05 +4021 8.05 -6.3954545e-06 -1.1279977e-05 +4022 8.052 -6.3729343e-06 -1.1240260e-05 +4023 8.054 -6.3504934e-06 -1.1200683e-05 +4024 8.056 -6.3281315e-06 -1.1161245e-05 +4025 8.058 -6.3058483e-06 -1.1121945e-05 +4026 8.06 -6.2836436e-06 -1.1082784e-05 +4027 8.062 -6.2615171e-06 -1.1043761e-05 +4028 8.064 -6.2394684e-06 -1.1004876e-05 +4029 8.066 -6.2174975e-06 -1.0966127e-05 +4030 8.068 -6.1956038e-06 -1.0927515e-05 +4031 8.07 -6.1737873e-06 -1.0889038e-05 +4032 8.072 -6.1520476e-06 -1.0850697e-05 +4033 8.074 -6.1303844e-06 -1.0812491e-05 +4034 8.076 -6.1087976e-06 -1.0774420e-05 +4035 8.078 -6.0872867e-06 -1.0736483e-05 +4036 8.08 -6.0658515e-06 -1.0698679e-05 +4037 8.082 -6.0444919e-06 -1.0661008e-05 +4038 8.084 -6.0232074e-06 -1.0623470e-05 +4039 8.086 -6.0019979e-06 -1.0586064e-05 +4040 8.088 -5.9808631e-06 -1.0548790e-05 +4041 8.09 -5.9598027e-06 -1.0511647e-05 +4042 8.092 -5.9388164e-06 -1.0474634e-05 +4043 8.094 -5.9179040e-06 -1.0437752e-05 +4044 8.096 -5.8970653e-06 -1.0401000e-05 +4045 8.098 -5.8762999e-06 -1.0364377e-05 +4046 8.1 -5.8556077e-06 -1.0327884e-05 +4047 8.102 -5.8349883e-06 -1.0291518e-05 +4048 8.104 -5.8144415e-06 -1.0255281e-05 +4049 8.106 -5.7939671e-06 -1.0219171e-05 +4050 8.108 -5.7735648e-06 -1.0183189e-05 +4051 8.11 -5.7532343e-06 -1.0147333e-05 +4052 8.112 -5.7329754e-06 -1.0111603e-05 +4053 8.114 -5.7127878e-06 -1.0075999e-05 +4054 8.116 -5.6926713e-06 -1.0040521e-05 +4055 8.118 -5.6726256e-06 -1.0005167e-05 +4056 8.12 -5.6526505e-06 -9.9699380e-06 +4057 8.122 -5.6327458e-06 -9.9348328e-06 +4058 8.124 -5.6129111e-06 -9.8998513e-06 +4059 8.126 -5.5931463e-06 -9.8649929e-06 +4060 8.128 -5.5734511e-06 -9.8302573e-06 +4061 8.13 -5.5538252e-06 -9.7956439e-06 +4062 8.132 -5.5342684e-06 -9.7611525e-06 +4063 8.134 -5.5147805e-06 -9.7267824e-06 +4064 8.136 -5.4953612e-06 -9.6925334e-06 +4065 8.138 -5.4760103e-06 -9.6584049e-06 +4066 8.14 -5.4567275e-06 -9.6243966e-06 +4067 8.142 -5.4375126e-06 -9.5905080e-06 +4068 8.144 -5.4183654e-06 -9.5567387e-06 +4069 8.146 -5.3992856e-06 -9.5230884e-06 +4070 8.148 -5.3802729e-06 -9.4895565e-06 +4071 8.15 -5.3613273e-06 -9.4561426e-06 +4072 8.152 -5.3424483e-06 -9.4228464e-06 +4073 8.154 -5.3236358e-06 -9.3896674e-06 +4074 8.156 -5.3048896e-06 -9.3566053e-06 +4075 8.158 -5.2862093e-06 -9.3236595e-06 +4076 8.16 -5.2675948e-06 -9.2908297e-06 +4077 8.162 -5.2490459e-06 -9.2581155e-06 +4078 8.164 -5.2305623e-06 -9.2255165e-06 +4079 8.166 -5.2121438e-06 -9.1930323e-06 +4080 8.168 -5.1937901e-06 -9.1606624e-06 +4081 8.17 -5.1755010e-06 -9.1284065e-06 +4082 8.172 -5.1572764e-06 -9.0962642e-06 +4083 8.174 -5.1391159e-06 -9.0642350e-06 +4084 8.176 -5.1210194e-06 -9.0323186e-06 +4085 8.178 -5.1029866e-06 -9.0005146e-06 +4086 8.18 -5.0850172e-06 -8.9688225e-06 +4087 8.182 -5.0671112e-06 -8.9372421e-06 +4088 8.184 -5.0492682e-06 -8.9057728e-06 +4089 8.186 -5.0314880e-06 -8.8744143e-06 +4090 8.188 -5.0137705e-06 -8.8431662e-06 +4091 8.19 -4.9961153e-06 -8.8120281e-06 +4092 8.192 -4.9785223e-06 -8.7809997e-06 +4093 8.194 -4.9609912e-06 -8.7500805e-06 +4094 8.196 -4.9435219e-06 -8.7192701e-06 +4095 8.198 -4.9261141e-06 -8.6885682e-06 +4096 8.2 -4.9087675e-06 -8.6579745e-06 +4097 8.202 -4.8914821e-06 -8.6274884e-06 +4098 8.204 -4.8742575e-06 -8.5971097e-06 +4099 8.206 -4.8570936e-06 -8.5668379e-06 +4100 8.208 -4.8399901e-06 -8.5366728e-06 +4101 8.21 -4.8229468e-06 -8.5066138e-06 +4102 8.212 -4.8059636e-06 -8.4766606e-06 +4103 8.214 -4.7890401e-06 -8.4468129e-06 +4104 8.216 -4.7721762e-06 -8.4170703e-06 +4105 8.218 -4.7553718e-06 -8.3874325e-06 +4106 8.22 -4.7386264e-06 -8.3578989e-06 +4107 8.222 -4.7219401e-06 -8.3284694e-06 +4108 8.224 -4.7053125e-06 -8.2991434e-06 +4109 8.226 -4.6887435e-06 -8.2699207e-06 +4110 8.228 -4.6722328e-06 -8.2408009e-06 +4111 8.23 -4.6557802e-06 -8.2117837e-06 +4112 8.232 -4.6393855e-06 -8.1828686e-06 +4113 8.234 -4.6230486e-06 -8.1540553e-06 +4114 8.236 -4.6067693e-06 -8.1253434e-06 +4115 8.238 -4.5905472e-06 -8.0967326e-06 +4116 8.24 -4.5743823e-06 -8.0682226e-06 +4117 8.242 -4.5582742e-06 -8.0398130e-06 +4118 8.244 -4.5422229e-06 -8.0115033e-06 +4119 8.246 -4.5262282e-06 -7.9832934e-06 +4120 8.248 -4.5102897e-06 -7.9551827e-06 +4121 8.25 -4.4944074e-06 -7.9271711e-06 +4122 8.252 -4.4785810e-06 -7.8992581e-06 +4123 8.254 -4.4628103e-06 -7.8714433e-06 +4124 8.256 -4.4470951e-06 -7.8437265e-06 +4125 8.258 -4.4314353e-06 -7.8161072e-06 +4126 8.26 -4.4158306e-06 -7.7885852e-06 +4127 8.262 -4.4002809e-06 -7.7611601e-06 +4128 8.264 -4.3847859e-06 -7.7338316e-06 +4129 8.266 -4.3693455e-06 -7.7065993e-06 +4130 8.268 -4.3539595e-06 -7.6794629e-06 +4131 8.27 -4.3386276e-06 -7.6524220e-06 +4132 8.272 -4.3233497e-06 -7.6254763e-06 +4133 8.274 -4.3081256e-06 -7.5986255e-06 +4134 8.276 -4.2929551e-06 -7.5718692e-06 +4135 8.278 -4.2778381e-06 -7.5452071e-06 +4136 8.28 -4.2627742e-06 -7.5186390e-06 +4137 8.282 -4.2477635e-06 -7.4921643e-06 +4138 8.284 -4.2328055e-06 -7.4657829e-06 +4139 8.286 -4.2179003e-06 -7.4394943e-06 +4140 8.288 -4.2030475e-06 -7.4132983e-06 +4141 8.29 -4.1882470e-06 -7.3871946e-06 +4142 8.292 -4.1734986e-06 -7.3611827e-06 +4143 8.294 -4.1588022e-06 -7.3352625e-06 +4144 8.296 -4.1441575e-06 -7.3094335e-06 +4145 8.298 -4.1295644e-06 -7.2836954e-06 +4146 8.3 -4.1150227e-06 -7.2580480e-06 +4147 8.302 -4.1005322e-06 -7.2324908e-06 +4148 8.304 -4.0860927e-06 -7.2070237e-06 +4149 8.306 -4.0717040e-06 -7.1816462e-06 +4150 8.308 -4.0573660e-06 -7.1563581e-06 +4151 8.31 -4.0430785e-06 -7.1311590e-06 +4152 8.312 -4.0288413e-06 -7.1060486e-06 +4153 8.314 -4.0146543e-06 -7.0810266e-06 +4154 8.316 -4.0005172e-06 -7.0560928e-06 +4155 8.318 -3.9864298e-06 -7.0312467e-06 +4156 8.32 -3.9723921e-06 -7.0064881e-06 +4157 8.322 -3.9584038e-06 -6.9818167e-06 +4158 8.324 -3.9444648e-06 -6.9572322e-06 +4159 8.326 -3.9305748e-06 -6.9327342e-06 +4160 8.328 -3.9167338e-06 -6.9083224e-06 +4161 8.33 -3.9029415e-06 -6.8839967e-06 +4162 8.332 -3.8891978e-06 -6.8597565e-06 +4163 8.334 -3.8755024e-06 -6.8356017e-06 +4164 8.336 -3.8618553e-06 -6.8115320e-06 +4165 8.338 -3.8482562e-06 -6.7875470e-06 +4166 8.34 -3.8347051e-06 -6.7636465e-06 +4167 8.342 -3.8212016e-06 -6.7398301e-06 +4168 8.344 -3.8077457e-06 -6.7160976e-06 +4169 8.346 -3.7943371e-06 -6.6924486e-06 +4170 8.348 -3.7809758e-06 -6.6688829e-06 +4171 8.35 -3.7676616e-06 -6.6454002e-06 +4172 8.352 -3.7543942e-06 -6.6220001e-06 +4173 8.354 -3.7411735e-06 -6.5986824e-06 +4174 8.356 -3.7279994e-06 -6.5754469e-06 +4175 8.358 -3.7148717e-06 -6.5522931e-06 +4176 8.36 -3.7017902e-06 -6.5292209e-06 +4177 8.362 -3.6887547e-06 -6.5062299e-06 +4178 8.364 -3.6757652e-06 -6.4833199e-06 +4179 8.366 -3.6628214e-06 -6.4604905e-06 +4180 8.368 -3.6499232e-06 -6.4377416e-06 +4181 8.37 -3.6370704e-06 -6.4150727e-06 +4182 8.372 -3.6242628e-06 -6.3924836e-06 +4183 8.374 -3.6115004e-06 -6.3699741e-06 +4184 8.376 -3.5987829e-06 -6.3475438e-06 +4185 8.378 -3.5861102e-06 -6.3251925e-06 +4186 8.38 -3.5734821e-06 -6.3029199e-06 +4187 8.382 -3.5608984e-06 -6.2807257e-06 +4188 8.384 -3.5483591e-06 -6.2586096e-06 +4189 8.386 -3.5358639e-06 -6.2365715e-06 +4190 8.388 -3.5234128e-06 -6.2146109e-06 +4191 8.39 -3.5110054e-06 -6.1927276e-06 +4192 8.392 -3.4986418e-06 -6.1709214e-06 +4193 8.394 -3.4863217e-06 -6.1491920e-06 +4194 8.396 -3.4740450e-06 -6.1275391e-06 +4195 8.398 -3.4618115e-06 -6.1059624e-06 +4196 8.4 -3.4496211e-06 -6.0844617e-06 +4197 8.402 -3.4374736e-06 -6.0630367e-06 +4198 8.404 -3.4253689e-06 -6.0416872e-06 +4199 8.406 -3.4133068e-06 -6.0204128e-06 +4200 8.408 -3.4012872e-06 -5.9992133e-06 +4201 8.41 -3.3893099e-06 -5.9780885e-06 +4202 8.412 -3.3773748e-06 -5.9570380e-06 +4203 8.414 -3.3654817e-06 -5.9360617e-06 +4204 8.416 -3.3536305e-06 -5.9151592e-06 +4205 8.418 -3.3418210e-06 -5.8943303e-06 +4206 8.42 -3.3300531e-06 -5.8735748e-06 +4207 8.422 -3.3183267e-06 -5.8528923e-06 +4208 8.424 -3.3066415e-06 -5.8322827e-06 +4209 8.426 -3.2949975e-06 -5.8117456e-06 +4210 8.428 -3.2833945e-06 -5.7912809e-06 +4211 8.43 -3.2718323e-06 -5.7708882e-06 +4212 8.432 -3.2603109e-06 -5.7505673e-06 +4213 8.434 -3.2488300e-06 -5.7303179e-06 +4214 8.436 -3.2373895e-06 -5.7101399e-06 +4215 8.438 -3.2259894e-06 -5.6900329e-06 +4216 8.44 -3.2146294e-06 -5.6699967e-06 +4217 8.442 -3.2033093e-06 -5.6500310e-06 +4218 8.444 -3.1920292e-06 -5.6301357e-06 +4219 8.446 -3.1807888e-06 -5.6103104e-06 +4220 8.448 -3.1695879e-06 -5.5905549e-06 +4221 8.45 -3.1584265e-06 -5.5708689e-06 +4222 8.452 -3.1473044e-06 -5.5512523e-06 +4223 8.454 -3.1362214e-06 -5.5317048e-06 +4224 8.456 -3.1251775e-06 -5.5122260e-06 +4225 8.458 -3.1141725e-06 -5.4928159e-06 +4226 8.46 -3.1032062e-06 -5.4734741e-06 +4227 8.462 -3.0922785e-06 -5.4542004e-06 +4228 8.464 -3.0813894e-06 -5.4349946e-06 +4229 8.466 -3.0705385e-06 -5.4158564e-06 +4230 8.468 -3.0597259e-06 -5.3967856e-06 +4231 8.47 -3.0489513e-06 -5.3777819e-06 +4232 8.472 -3.0382147e-06 -5.3588451e-06 +4233 8.474 -3.0275159e-06 -5.3399751e-06 +4234 8.476 -3.0168548e-06 -5.3211714e-06 +4235 8.478 -3.0062312e-06 -5.3024340e-06 +4236 8.48 -2.9956450e-06 -5.2837626e-06 +4237 8.482 -2.9850961e-06 -5.2651569e-06 +4238 8.484 -2.9745843e-06 -5.2466167e-06 +4239 8.486 -2.9641096e-06 -5.2281418e-06 +4240 8.488 -2.9536717e-06 -5.2097319e-06 +4241 8.49 -2.9432706e-06 -5.1913869e-06 +4242 8.492 -2.9329061e-06 -5.1731064e-06 +4243 8.494 -2.9225781e-06 -5.1548903e-06 +4244 8.496 -2.9122865e-06 -5.1367384e-06 +4245 8.498 -2.9020311e-06 -5.1186504e-06 +4246 8.5 -2.8918119e-06 -5.1006261e-06 +4247 8.502 -2.8816286e-06 -5.0826652e-06 +4248 8.504 -2.8714812e-06 -5.0647676e-06 +4249 8.506 -2.8613695e-06 -5.0469330e-06 +4250 8.508 -2.8512934e-06 -5.0291612e-06 +4251 8.51 -2.8412528e-06 -5.0114519e-06 +4252 8.512 -2.8312476e-06 -4.9938050e-06 +4253 8.514 -2.8212775e-06 -4.9762203e-06 +4254 8.516 -2.8113426e-06 -4.9586975e-06 +4255 8.518 -2.8014427e-06 -4.9412364e-06 +4256 8.52 -2.7915776e-06 -4.9238367e-06 +4257 8.522 -2.7817473e-06 -4.9064984e-06 +4258 8.524 -2.7719516e-06 -4.8892210e-06 +4259 8.526 -2.7621904e-06 -4.8720045e-06 +4260 8.528 -2.7524635e-06 -4.8548487e-06 +4261 8.53 -2.7427710e-06 -4.8377532e-06 +4262 8.532 -2.7331125e-06 -4.8207179e-06 +4263 8.534 -2.7234880e-06 -4.8037427e-06 +4264 8.536 -2.7138975e-06 -4.7868272e-06 +4265 8.538 -2.7043407e-06 -4.7699712e-06 +4266 8.54 -2.6948176e-06 -4.7531746e-06 +4267 8.542 -2.6853280e-06 -4.7364372e-06 +4268 8.544 -2.6758718e-06 -4.7197586e-06 +4269 8.546 -2.6664489e-06 -4.7031388e-06 +4270 8.548 -2.6570592e-06 -4.6865776e-06 +4271 8.55 -2.6477025e-06 -4.6700746e-06 +4272 8.552 -2.6383788e-06 -4.6536298e-06 +4273 8.554 -2.6290880e-06 -4.6372428e-06 +4274 8.556 -2.6198298e-06 -4.6209136e-06 +4275 8.558 -2.6106043e-06 -4.6046418e-06 +4276 8.56 -2.6014112e-06 -4.5884274e-06 +4277 8.562 -2.5922505e-06 -4.5722700e-06 +4278 8.564 -2.5831221e-06 -4.5561695e-06 +4279 8.566 -2.5740258e-06 -4.5401258e-06 +4280 8.568 -2.5649616e-06 -4.5241385e-06 +4281 8.57 -2.5559292e-06 -4.5082075e-06 +4282 8.572 -2.5469287e-06 -4.4923326e-06 +4283 8.574 -2.5379599e-06 -4.4765136e-06 +4284 8.576 -2.5290226e-06 -4.4607503e-06 +4285 8.578 -2.5201168e-06 -4.4450425e-06 +4286 8.58 -2.5112424e-06 -4.4293900e-06 +4287 8.582 -2.5023992e-06 -4.4137927e-06 +4288 8.584 -2.4935872e-06 -4.3982502e-06 +4289 8.586 -2.4848062e-06 -4.3827625e-06 +4290 8.588 -2.4760561e-06 -4.3673293e-06 +4291 8.59 -2.4673368e-06 -4.3519505e-06 +4292 8.592 -2.4586483e-06 -4.3366258e-06 +4293 8.594 -2.4499903e-06 -4.3213551e-06 +4294 8.596 -2.4413628e-06 -4.3061381e-06 +4295 8.598 -2.4327657e-06 -4.2909747e-06 +4296 8.6 -2.4241989e-06 -4.2758647e-06 +4297 8.602 -2.4156622e-06 -4.2608080e-06 +4298 8.604 -2.4071556e-06 -4.2458042e-06 +4299 8.606 -2.3986790e-06 -4.2308533e-06 +4300 8.608 -2.3902322e-06 -4.2159550e-06 +4301 8.61 -2.3818151e-06 -4.2011091e-06 +4302 8.612 -2.3734277e-06 -4.1863156e-06 +4303 8.614 -2.3650698e-06 -4.1715741e-06 +4304 8.616 -2.3567414e-06 -4.1568846e-06 +4305 8.618 -2.3484422e-06 -4.1422467e-06 +4306 8.62 -2.3401723e-06 -4.1276604e-06 +4307 8.622 -2.3319316e-06 -4.1131255e-06 +4308 8.624 -2.3237198e-06 -4.0986418e-06 +4309 8.626 -2.3155370e-06 -4.0842090e-06 +4310 8.628 -2.3073829e-06 -4.0698271e-06 +4311 8.63 -2.2992576e-06 -4.0554958e-06 +4312 8.632 -2.2911609e-06 -4.0412150e-06 +4313 8.634 -2.2830927e-06 -4.0269844e-06 +4314 8.636 -2.2750529e-06 -4.0128040e-06 +4315 8.638 -2.2670415e-06 -3.9986735e-06 +4316 8.64 -2.2590582e-06 -3.9845927e-06 +4317 8.642 -2.2511031e-06 -3.9705616e-06 +4318 8.644 -2.2431759e-06 -3.9565798e-06 +4319 8.646 -2.2352767e-06 -3.9426473e-06 +4320 8.648 -2.2274053e-06 -3.9287638e-06 +4321 8.65 -2.2195616e-06 -3.9149293e-06 +4322 8.652 -2.2117456e-06 -3.9011434e-06 +4323 8.654 -2.2039570e-06 -3.8874061e-06 +4324 8.656 -2.1961959e-06 -3.8737171e-06 +4325 8.658 -2.1884621e-06 -3.8600764e-06 +4326 8.66 -2.1807556e-06 -3.8464837e-06 +4327 8.662 -2.1730762e-06 -3.8329388e-06 +4328 8.664 -2.1654238e-06 -3.8194416e-06 +4329 8.666 -2.1577984e-06 -3.8059920e-06 +4330 8.668 -2.1501998e-06 -3.7925897e-06 +4331 8.67 -2.1426280e-06 -3.7792346e-06 +4332 8.672 -2.1350828e-06 -3.7659266e-06 +4333 8.674 -2.1275642e-06 -3.7526654e-06 +4334 8.676 -2.1200721e-06 -3.7394509e-06 +4335 8.678 -2.1126064e-06 -3.7262829e-06 +4336 8.68 -2.1051670e-06 -3.7131613e-06 +4337 8.682 -2.0977537e-06 -3.7000859e-06 +4338 8.684 -2.0903666e-06 -3.6870565e-06 +4339 8.686 -2.0830055e-06 -3.6740731e-06 +4340 8.688 -2.0756703e-06 -3.6611353e-06 +4341 8.69 -2.0683609e-06 -3.6482431e-06 +4342 8.692 -2.0610773e-06 -3.6353963e-06 +4343 8.694 -2.0538193e-06 -3.6225947e-06 +4344 8.696 -2.0465869e-06 -3.6098382e-06 +4345 8.698 -2.0393799e-06 -3.5971266e-06 +4346 8.7 -2.0321983e-06 -3.5844598e-06 +4347 8.702 -2.0250420e-06 -3.5718376e-06 +4348 8.704 -2.0179109e-06 -3.5592598e-06 +4349 8.706 -2.0108050e-06 -3.5467264e-06 +4350 8.708 -2.0037240e-06 -3.5342370e-06 +4351 8.71 -1.9966680e-06 -3.5217916e-06 +4352 8.712 -1.9896368e-06 -3.5093901e-06 +4353 8.714 -1.9826304e-06 -3.4970322e-06 +4354 8.716 -1.9756486e-06 -3.4847178e-06 +4355 8.718 -1.9686915e-06 -3.4724468e-06 +4356 8.72 -1.9617588e-06 -3.4602191e-06 +4357 8.722 -1.9548506e-06 -3.4480343e-06 +4358 8.724 -1.9479667e-06 -3.4358925e-06 +4359 8.726 -1.9411070e-06 -3.4237934e-06 +4360 8.728 -1.9342715e-06 -3.4117369e-06 +4361 8.73 -1.9274600e-06 -3.3997229e-06 +4362 8.732 -1.9206725e-06 -3.3877512e-06 +4363 8.734 -1.9139090e-06 -3.3758216e-06 +4364 8.736 -1.9071692e-06 -3.3639341e-06 +4365 8.738 -1.9004532e-06 -3.3520884e-06 +4366 8.74 -1.8937608e-06 -3.3402844e-06 +4367 8.742 -1.8870920e-06 -3.3285220e-06 +4368 8.744 -1.8804467e-06 -3.3168010e-06 +4369 8.746 -1.8738248e-06 -3.3051213e-06 +4370 8.748 -1.8672262e-06 -3.2934827e-06 +4371 8.75 -1.8606509e-06 -3.2818850e-06 +4372 8.752 -1.8540987e-06 -3.2703283e-06 +4373 8.754 -1.8475695e-06 -3.2588122e-06 +4374 8.756 -1.8410634e-06 -3.2473366e-06 +4375 8.758 -1.8345801e-06 -3.2359015e-06 +4376 8.76 -1.8281197e-06 -3.2245067e-06 +4377 8.762 -1.8216821e-06 -3.2131519e-06 +4378 8.764 -1.8152671e-06 -3.2018372e-06 +4379 8.766 -1.8088747e-06 -3.1905623e-06 +4380 8.768 -1.8025048e-06 -3.1793270e-06 +4381 8.77 -1.7961574e-06 -3.1681314e-06 +4382 8.772 -1.7898323e-06 -3.1569752e-06 +4383 8.774 -1.7835295e-06 -3.1458582e-06 +4384 8.776 -1.7772488e-06 -3.1347804e-06 +4385 8.778 -1.7709903e-06 -3.1237416e-06 +4386 8.78 -1.7647538e-06 -3.1127417e-06 +4387 8.782 -1.7585393e-06 -3.1017805e-06 +4388 8.784 -1.7523467e-06 -3.0908580e-06 +4389 8.786 -1.7461759e-06 -3.0799738e-06 +4390 8.788 -1.7400268e-06 -3.0691280e-06 +4391 8.79 -1.7338993e-06 -3.0583204e-06 +4392 8.792 -1.7277935e-06 -3.0475509e-06 +4393 8.794 -1.7217091e-06 -3.0368192e-06 +4394 8.796 -1.7156462e-06 -3.0261254e-06 +4395 8.798 -1.7096046e-06 -3.0154692e-06 +4396 8.8 -1.7035843e-06 -3.0048505e-06 +4397 8.802 -1.6975851e-06 -2.9942693e-06 +4398 8.804 -1.6916072e-06 -2.9837253e-06 +4399 8.806 -1.6856502e-06 -2.9732184e-06 +4400 8.808 -1.6797143e-06 -2.9627485e-06 +4401 8.81 -1.6737992e-06 -2.9523155e-06 +4402 8.812 -1.6679050e-06 -2.9419192e-06 +4403 8.814 -1.6620315e-06 -2.9315595e-06 +4404 8.816 -1.6561787e-06 -2.9212363e-06 +4405 8.818 -1.6503465e-06 -2.9109495e-06 +4406 8.82 -1.6445349e-06 -2.9006989e-06 +4407 8.822 -1.6387437e-06 -2.8904843e-06 +4408 8.824 -1.6329729e-06 -2.8803058e-06 +4409 8.826 -1.6272225e-06 -2.8701631e-06 +4410 8.828 -1.6214922e-06 -2.8600561e-06 +4411 8.83 -1.6157822e-06 -2.8499846e-06 +4412 8.832 -1.6100923e-06 -2.8399487e-06 +4413 8.834 -1.6044224e-06 -2.8299481e-06 +4414 8.836 -1.5987725e-06 -2.8199827e-06 +4415 8.838 -1.5931424e-06 -2.8100524e-06 +4416 8.84 -1.5875322e-06 -2.8001571e-06 +4417 8.842 -1.5819418e-06 -2.7902966e-06 +4418 8.844 -1.5763710e-06 -2.7804708e-06 +4419 8.846 -1.5708199e-06 -2.7706796e-06 +4420 8.848 -1.5652883e-06 -2.7609230e-06 +4421 8.85 -1.5597762e-06 -2.7512006e-06 +4422 8.852 -1.5542835e-06 -2.7415125e-06 +4423 8.854 -1.5488101e-06 -2.7318585e-06 +4424 8.856 -1.5433560e-06 -2.7222385e-06 +4425 8.858 -1.5379211e-06 -2.7126524e-06 +4426 8.86 -1.5325054e-06 -2.7031001e-06 +4427 8.862 -1.5271087e-06 -2.6935813e-06 +4428 8.864 -1.5217310e-06 -2.6840961e-06 +4429 8.866 -1.5163723e-06 -2.6746443e-06 +4430 8.868 -1.5110324e-06 -2.6652258e-06 +4431 8.87 -1.5057114e-06 -2.6558404e-06 +4432 8.872 -1.5004090e-06 -2.6464881e-06 +4433 8.874 -1.4951254e-06 -2.6371688e-06 +4434 8.876 -1.4898603e-06 -2.6278822e-06 +4435 8.878 -1.4846138e-06 -2.6186283e-06 +4436 8.88 -1.4793858e-06 -2.6094071e-06 +4437 8.882 -1.4741762e-06 -2.6002183e-06 +4438 8.884 -1.4689849e-06 -2.5910618e-06 +4439 8.886 -1.4638119e-06 -2.5819376e-06 +4440 8.888 -1.4586571e-06 -2.5728455e-06 +4441 8.89 -1.4535205e-06 -2.5637855e-06 +4442 8.892 -1.4484020e-06 -2.5547573e-06 +4443 8.894 -1.4433015e-06 -2.5457610e-06 +4444 8.896 -1.4382189e-06 -2.5367963e-06 +4445 8.898 -1.4331543e-06 -2.5278632e-06 +4446 8.9 -1.4281074e-06 -2.5189615e-06 +4447 8.902 -1.4230784e-06 -2.5100912e-06 +4448 8.904 -1.4180671e-06 -2.5012521e-06 +4449 8.906 -1.4130734e-06 -2.4924441e-06 +4450 8.908 -1.4080973e-06 -2.4836672e-06 +4451 8.91 -1.4031387e-06 -2.4749212e-06 +4452 8.912 -1.3981975e-06 -2.4662059e-06 +4453 8.914 -1.3932738e-06 -2.4575214e-06 +4454 8.916 -1.3883674e-06 -2.4488674e-06 +4455 8.918 -1.3834783e-06 -2.4402439e-06 +4456 8.92 -1.3786064e-06 -2.4316508e-06 +4457 8.922 -1.3737517e-06 -2.4230879e-06 +4458 8.924 -1.3689141e-06 -2.4145552e-06 +4459 8.926 -1.3640935e-06 -2.4060525e-06 +4460 8.928 -1.3592898e-06 -2.3975798e-06 +4461 8.93 -1.3545031e-06 -2.3891369e-06 +4462 8.932 -1.3497333e-06 -2.3807238e-06 +4463 8.934 -1.3449802e-06 -2.3723402e-06 +4464 8.936 -1.3402439e-06 -2.3639862e-06 +4465 8.938 -1.3355243e-06 -2.3556616e-06 +4466 8.94 -1.3308212e-06 -2.3473663e-06 +4467 8.942 -1.3261348e-06 -2.3391002e-06 +4468 8.944 -1.3214648e-06 -2.3308633e-06 +4469 8.946 -1.3168113e-06 -2.3226553e-06 +4470 8.948 -1.3121742e-06 -2.3144762e-06 +4471 8.95 -1.3075534e-06 -2.3063260e-06 +4472 8.952 -1.3029488e-06 -2.2982044e-06 +4473 8.954 -1.2983605e-06 -2.2901115e-06 +4474 8.956 -1.2937884e-06 -2.2820470e-06 +4475 8.958 -1.2892323e-06 -2.2740109e-06 +4476 8.96 -1.2846923e-06 -2.2660032e-06 +4477 8.962 -1.2801683e-06 -2.2580236e-06 +4478 8.964 -1.2756602e-06 -2.2500721e-06 +4479 8.966 -1.2711680e-06 -2.2421487e-06 +4480 8.968 -1.2666916e-06 -2.2342531e-06 +4481 8.97 -1.2622310e-06 -2.2263853e-06 +4482 8.972 -1.2577860e-06 -2.2185453e-06 +4483 8.974 -1.2533568e-06 -2.2107328e-06 +4484 8.976 -1.2489431e-06 -2.2029479e-06 +4485 8.978 -1.2445450e-06 -2.1951903e-06 +4486 8.98 -1.2401623e-06 -2.1874601e-06 +4487 8.982 -1.2357951e-06 -2.1797571e-06 +4488 8.984 -1.2314433e-06 -2.1720812e-06 +4489 8.986 -1.2271067e-06 -2.1644324e-06 +4490 8.988 -1.2227855e-06 -2.1568105e-06 +4491 8.99 -1.2184795e-06 -2.1492154e-06 +4492 8.992 -1.2141886e-06 -2.1416471e-06 +4493 8.994 -1.2099129e-06 -2.1341054e-06 +4494 8.996 -1.2056522e-06 -2.1265903e-06 +4495 8.998 -1.2014065e-06 -2.1191017e-06 +4496 9.0 -1.1971758e-06 -2.1116394e-06 +4497 9.002 -1.1929599e-06 -2.1042034e-06 +4498 9.004 -1.1887589e-06 -2.0967936e-06 +4499 9.006 -1.1845727e-06 -2.0894098e-06 +4500 9.008 -1.1804013e-06 -2.0820521e-06 +4501 9.01 -1.1762445e-06 -2.0747203e-06 +4502 9.012 -1.1721024e-06 -2.0674143e-06 +4503 9.014 -1.1679748e-06 -2.0601340e-06 +4504 9.016 -1.1638618e-06 -2.0528794e-06 +4505 9.018 -1.1597633e-06 -2.0456503e-06 +4506 9.02 -1.1556792e-06 -2.0384467e-06 +4507 9.022 -1.1516095e-06 -2.0312684e-06 +4508 9.024 -1.1475541e-06 -2.0241154e-06 +4509 9.026 -1.1435130e-06 -2.0169876e-06 +4510 9.028 -1.1394862e-06 -2.0098849e-06 +4511 9.03 -1.1354735e-06 -2.0028072e-06 +4512 9.032 -1.1314749e-06 -1.9957545e-06 +4513 9.034 -1.1274904e-06 -1.9887265e-06 +4514 9.036 -1.1235200e-06 -1.9817234e-06 +4515 9.038 -1.1195635e-06 -1.9747448e-06 +4516 9.04 -1.1156210e-06 -1.9677909e-06 +4517 9.042 -1.1116923e-06 -1.9608614e-06 +4518 9.044 -1.1077775e-06 -1.9539564e-06 +4519 9.046 -1.1038765e-06 -1.9470756e-06 +4520 9.048 -1.0999892e-06 -1.9402191e-06 +4521 9.05 -1.0961156e-06 -1.9333867e-06 +4522 9.052 -1.0922556e-06 -1.9265784e-06 +4523 9.054 -1.0884093e-06 -1.9197941e-06 +4524 9.056 -1.0845765e-06 -1.9130336e-06 +4525 9.058 -1.0807571e-06 -1.9062970e-06 +4526 9.06 -1.0769512e-06 -1.8995841e-06 +4527 9.062 -1.0731588e-06 -1.8928948e-06 +4528 9.064 -1.0693797e-06 -1.8862290e-06 +4529 9.066 -1.0656138e-06 -1.8795868e-06 +4530 9.068 -1.0618613e-06 -1.8729679e-06 +4531 9.07 -1.0581220e-06 -1.8663724e-06 +4532 9.072 -1.0543958e-06 -1.8598000e-06 +4533 9.074 -1.0506827e-06 -1.8532509e-06 +4534 9.076 -1.0469828e-06 -1.8467247e-06 +4535 9.078 -1.0432958e-06 -1.8402216e-06 +4536 9.08 -1.0396219e-06 -1.8337413e-06 +4537 9.082 -1.0359608e-06 -1.8272839e-06 +4538 9.084 -1.0323127e-06 -1.8208492e-06 +4539 9.086 -1.0286774e-06 -1.8144372e-06 +4540 9.088 -1.0250550e-06 -1.8080478e-06 +4541 9.09 -1.0214452e-06 -1.8016808e-06 +4542 9.092 -1.0178482e-06 -1.7953363e-06 +4543 9.094 -1.0142639e-06 -1.7890141e-06 +4544 9.096 -1.0106921e-06 -1.7827142e-06 +4545 9.098 -1.0071330e-06 -1.7764364e-06 +4546 9.1 -1.0035864e-06 -1.7701808e-06 +4547 9.102 -1.0000523e-06 -1.7639472e-06 +4548 9.104 -9.9653058e-07 -1.7577355e-06 +4549 9.106 -9.9302130e-07 -1.7515457e-06 +4550 9.108 -9.8952438e-07 -1.7453778e-06 +4551 9.11 -9.8603977e-07 -1.7392315e-06 +4552 9.112 -9.8256744e-07 -1.7331069e-06 +4553 9.114 -9.7910733e-07 -1.7270038e-06 +4554 9.116 -9.7565941e-07 -1.7209223e-06 +4555 9.118 -9.7222363e-07 -1.7148621e-06 +4556 9.12 -9.6879995e-07 -1.7088233e-06 +4557 9.122 -9.6538832e-07 -1.7028058e-06 +4558 9.124 -9.6198871e-07 -1.6968094e-06 +4559 9.126 -9.5860107e-07 -1.6908342e-06 +4560 9.128 -9.5522536e-07 -1.6848800e-06 +4561 9.13 -9.5186154e-07 -1.6789467e-06 +4562 9.132 -9.4850956e-07 -1.6730344e-06 +4563 9.134 -9.4516938e-07 -1.6671429e-06 +4564 9.136 -9.4184097e-07 -1.6612721e-06 +4565 9.138 -9.3852428e-07 -1.6554220e-06 +4566 9.14 -9.3521927e-07 -1.6495925e-06 +4567 9.142 -9.3192590e-07 -1.6437836e-06 +4568 9.144 -9.2864412e-07 -1.6379951e-06 +4569 9.146 -9.2537390e-07 -1.6322269e-06 +4570 9.148 -9.2211520e-07 -1.6264791e-06 +4571 9.15 -9.1886797e-07 -1.6207515e-06 +4572 9.152 -9.1563218e-07 -1.6150441e-06 +4573 9.154 -9.1240778e-07 -1.6093568e-06 +4574 9.156 -9.0919474e-07 -1.6036895e-06 +4575 9.158 -9.0599301e-07 -1.5980422e-06 +4576 9.16 -9.0280256e-07 -1.5924148e-06 +4577 9.162 -8.9962334e-07 -1.5868071e-06 +4578 9.164 -8.9645532e-07 -1.5812193e-06 +4579 9.166 -8.9329845e-07 -1.5756511e-06 +4580 9.168 -8.9015270e-07 -1.5701025e-06 +4581 9.17 -8.8701803e-07 -1.5645734e-06 +4582 9.172 -8.8389439e-07 -1.5590638e-06 +4583 9.174 -8.8078176e-07 -1.5535737e-06 +4584 9.176 -8.7768009e-07 -1.5481028e-06 +4585 9.178 -8.7458934e-07 -1.5426512e-06 +4586 9.18 -8.7150947e-07 -1.5372188e-06 +4587 9.182 -8.6844045e-07 -1.5318056e-06 +4588 9.184 -8.6538223e-07 -1.5264114e-06 +4589 9.186 -8.6233479e-07 -1.5210362e-06 +4590 9.188 -8.5929808e-07 -1.5156799e-06 +4591 9.19 -8.5627206e-07 -1.5103425e-06 +4592 9.192 -8.5325669e-07 -1.5050239e-06 +4593 9.194 -8.5025195e-07 -1.4997240e-06 +4594 9.196 -8.4725779e-07 -1.4944428e-06 +4595 9.198 -8.4427417e-07 -1.4891801e-06 +4596 9.2 -8.4130105e-07 -1.4839361e-06 +4597 9.202 -8.3833841e-07 -1.4787104e-06 +4598 9.204 -8.3538620e-07 -1.4735032e-06 +4599 9.206 -8.3244438e-07 -1.4683143e-06 +4600 9.208 -8.2951293e-07 -1.4631437e-06 +4601 9.21 -8.2659180e-07 -1.4579913e-06 +4602 9.212 -8.2368095e-07 -1.4528570e-06 +4603 9.214 -8.2078036e-07 -1.4477408e-06 +4604 9.216 -8.1788998e-07 -1.4426427e-06 +4605 9.218 -8.1500977e-07 -1.4375624e-06 +4606 9.22 -8.1213971e-07 -1.4325001e-06 +4607 9.222 -8.0927976e-07 -1.4274556e-06 +4608 9.224 -8.0642988e-07 -1.4224289e-06 +4609 9.226 -8.0359003e-07 -1.4174198e-06 +4610 9.228 -8.0076019e-07 -1.4124284e-06 +4611 9.23 -7.9794031e-07 -1.4074546e-06 +4612 9.232 -7.9513036e-07 -1.4024983e-06 +4613 9.234 -7.9233030e-07 -1.3975595e-06 +4614 9.236 -7.8954011e-07 -1.3926380e-06 +4615 9.238 -7.8675974e-07 -1.3877339e-06 +4616 9.24 -7.8398916e-07 -1.3828470e-06 +4617 9.242 -7.8122834e-07 -1.3779774e-06 +4618 9.244 -7.7847724e-07 -1.3731249e-06 +4619 9.246 -7.7573583e-07 -1.3682894e-06 +4620 9.248 -7.7300407e-07 -1.3634711e-06 +4621 9.25 -7.7028193e-07 -1.3586696e-06 +4622 9.252 -7.6756938e-07 -1.3538851e-06 +4623 9.254 -7.6486638e-07 -1.3491175e-06 +4624 9.256 -7.6217290e-07 -1.3443666e-06 +4625 9.258 -7.5948891e-07 -1.3396324e-06 +4626 9.26 -7.5681436e-07 -1.3349150e-06 +4627 9.262 -7.5414923e-07 -1.3302141e-06 +4628 9.264 -7.5149349e-07 -1.3255298e-06 +4629 9.266 -7.4884710e-07 -1.3208620e-06 +4630 9.268 -7.4621004e-07 -1.3162106e-06 +4631 9.27 -7.4358225e-07 -1.3115756e-06 +4632 9.272 -7.4096372e-07 -1.3069569e-06 +4633 9.274 -7.3835441e-07 -1.3023545e-06 +4634 9.276 -7.3575429e-07 -1.2977683e-06 +4635 9.278 -7.3316333e-07 -1.2931982e-06 +4636 9.28 -7.3058149e-07 -1.2886443e-06 +4637 9.282 -7.2800874e-07 -1.2841063e-06 +4638 9.284 -7.2544505e-07 -1.2795844e-06 +4639 9.286 -7.2289039e-07 -1.2750784e-06 +4640 9.288 -7.2034473e-07 -1.2705882e-06 +4641 9.29 -7.1780803e-07 -1.2661139e-06 +4642 9.292 -7.1528026e-07 -1.2616553e-06 +4643 9.294 -7.1276140e-07 -1.2572124e-06 +4644 9.296 -7.1025140e-07 -1.2527852e-06 +4645 9.298 -7.0775025e-07 -1.2483735e-06 +4646 9.3 -7.0525790e-07 -1.2439774e-06 +4647 9.302 -7.0277433e-07 -1.2395968e-06 +4648 9.304 -7.0029950e-07 -1.2352316e-06 +4649 9.306 -6.9783339e-07 -1.2308817e-06 +4650 9.308 -6.9537596e-07 -1.2265472e-06 +4651 9.31 -6.9292719e-07 -1.2222279e-06 +4652 9.312 -6.9048704e-07 -1.2179239e-06 +4653 9.314 -6.8805549e-07 -1.2136350e-06 +4654 9.316 -6.8563249e-07 -1.2093612e-06 +4655 9.318 -6.8321803e-07 -1.2051025e-06 +4656 9.32 -6.8081207e-07 -1.2008587e-06 +4657 9.322 -6.7841459e-07 -1.1966299e-06 +4658 9.324 -6.7602554e-07 -1.1924160e-06 +4659 9.326 -6.7364491e-07 -1.1882170e-06 +4660 9.328 -6.7127266e-07 -1.1840327e-06 +4661 9.33 -6.6890877e-07 -1.1798632e-06 +4662 9.332 -6.6655320e-07 -1.1757083e-06 +4663 9.334 -6.6420593e-07 -1.1715681e-06 +4664 9.336 -6.6186692e-07 -1.1674424e-06 +4665 9.338 -6.5953615e-07 -1.1633313e-06 +4666 9.34 -6.5721359e-07 -1.1592346e-06 +4667 9.342 -6.5489920e-07 -1.1551524e-06 +4668 9.344 -6.5259297e-07 -1.1510846e-06 +4669 9.346 -6.5029485e-07 -1.1470311e-06 +4670 9.348 -6.4800483e-07 -1.1429918e-06 +4671 9.35 -6.4572288e-07 -1.1389668e-06 +4672 9.352 -6.4344896e-07 -1.1349559e-06 +4673 9.354 -6.4118304e-07 -1.1309592e-06 +4674 9.356 -6.3892511e-07 -1.1269766e-06 +4675 9.358 -6.3667513e-07 -1.1230079e-06 +4676 9.36 -6.3443307e-07 -1.1190533e-06 +4677 9.362 -6.3219891e-07 -1.1151126e-06 +4678 9.364 -6.2997261e-07 -1.1111857e-06 +4679 9.366 -6.2775415e-07 -1.1072727e-06 +4680 9.368 -6.2554351e-07 -1.1033735e-06 +4681 9.37 -6.2334065e-07 -1.0994879e-06 +4682 9.372 -6.2114555e-07 -1.0956161e-06 +4683 9.374 -6.1895818e-07 -1.0917579e-06 +4684 9.376 -6.1677851e-07 -1.0879133e-06 +4685 9.378 -6.1460651e-07 -1.0840823e-06 +4686 9.38 -6.1244217e-07 -1.0802647e-06 +4687 9.382 -6.1028545e-07 -1.0764605e-06 +4688 9.384 -6.0813632e-07 -1.0726698e-06 +4689 9.386 -6.0599476e-07 -1.0688924e-06 +4690 9.388 -6.0386074e-07 -1.0651283e-06 +4691 9.39 -6.0173424e-07 -1.0613775e-06 +4692 9.392 -5.9961522e-07 -1.0576399e-06 +4693 9.394 -5.9750367e-07 -1.0539154e-06 +4694 9.396 -5.9539955e-07 -1.0502041e-06 +4695 9.398 -5.9330284e-07 -1.0465058e-06 +4696 9.4 -5.9121352e-07 -1.0428205e-06 +4697 9.402 -5.8913155e-07 -1.0391483e-06 +4698 9.404 -5.8705692e-07 -1.0354889e-06 +4699 9.406 -5.8498959e-07 -1.0318425e-06 +4700 9.408 -5.8292954e-07 -1.0282088e-06 +4701 9.41 -5.8087674e-07 -1.0245880e-06 +4702 9.412 -5.7883118e-07 -1.0209799e-06 +4703 9.414 -5.7679282e-07 -1.0173846e-06 +4704 9.416 -5.7476163e-07 -1.0138019e-06 +4705 9.418 -5.7273760e-07 -1.0102318e-06 +4706 9.42 -5.7072070e-07 -1.0066743e-06 +4707 9.422 -5.6871089e-07 -1.0031293e-06 +4708 9.424 -5.6670817e-07 -9.9959678e-07 +4709 9.426 -5.6471250e-07 -9.9607671e-07 +4710 9.428 -5.6272386e-07 -9.9256904e-07 +4711 9.43 -5.6074221e-07 -9.8907372e-07 +4712 9.432 -5.5876755e-07 -9.8559071e-07 +4713 9.434 -5.5679984e-07 -9.8211997e-07 +4714 9.436 -5.5483906e-07 -9.7866144e-07 +4715 9.438 -5.5288519e-07 -9.7521510e-07 +4716 9.44 -5.5093820e-07 -9.7178089e-07 +4717 9.442 -5.4899806e-07 -9.6835878e-07 +4718 9.444 -5.4706475e-07 -9.6494871e-07 +4719 9.446 -5.4513826e-07 -9.6155066e-07 +4720 9.448 -5.4321854e-07 -9.5816457e-07 +4721 9.45 -5.4130559e-07 -9.5479040e-07 +4722 9.452 -5.3939937e-07 -9.5142812e-07 +4723 9.454 -5.3749987e-07 -9.4807768e-07 +4724 9.456 -5.3560705e-07 -9.4473903e-07 +4725 9.458 -5.3372090e-07 -9.4141215e-07 +4726 9.46 -5.3184140e-07 -9.3809697e-07 +4727 9.462 -5.2996851e-07 -9.3479347e-07 +4728 9.464 -5.2810222e-07 -9.3150161e-07 +4729 9.466 -5.2624249e-07 -9.2822134e-07 +4730 9.468 -5.2438932e-07 -9.2495261e-07 +4731 9.47 -5.2254268e-07 -9.2169540e-07 +4732 9.472 -5.2070253e-07 -9.1844966e-07 +4733 9.474 -5.1886887e-07 -9.1521535e-07 +4734 9.476 -5.1704166e-07 -9.1199243e-07 +4735 9.478 -5.1522089e-07 -9.0878086e-07 +4736 9.48 -5.1340653e-07 -9.0558059e-07 +4737 9.482 -5.1159856e-07 -9.0239160e-07 +4738 9.484 -5.0979696e-07 -8.9921384e-07 +4739 9.486 -5.0800170e-07 -8.9604726e-07 +4740 9.488 -5.0621276e-07 -8.9289184e-07 +4741 9.49 -5.0443013e-07 -8.8974753e-07 +4742 9.492 -5.0265377e-07 -8.8661429e-07 +4743 9.494 -5.0088366e-07 -8.8349209e-07 +4744 9.496 -4.9911979e-07 -8.8038088e-07 +4745 9.498 -4.9736213e-07 -8.7728062e-07 +4746 9.5 -4.9561066e-07 -8.7419129e-07 +4747 9.502 -4.9386536e-07 -8.7111283e-07 +4748 9.504 -4.9212620e-07 -8.6804521e-07 +4749 9.506 -4.9039317e-07 -8.6498840e-07 +4750 9.508 -4.8866624e-07 -8.6194235e-07 +4751 9.51 -4.8694539e-07 -8.5890702e-07 +4752 9.512 -4.8523061e-07 -8.5588239e-07 +4753 9.514 -4.8352186e-07 -8.5286840e-07 +4754 9.516 -4.8181913e-07 -8.4986503e-07 +4755 9.518 -4.8012239e-07 -8.4687224e-07 +4756 9.52 -4.7843163e-07 -8.4388998e-07 +4757 9.522 -4.7674682e-07 -8.4091823e-07 +4758 9.524 -4.7506795e-07 -8.3795694e-07 +4759 9.526 -4.7339499e-07 -8.3500608e-07 +4760 9.528 -4.7172792e-07 -8.3206561e-07 +4761 9.53 -4.7006672e-07 -8.2913550e-07 +4762 9.532 -4.6841137e-07 -8.2621570e-07 +4763 9.534 -4.6676185e-07 -8.2330619e-07 +4764 9.536 -4.6511814e-07 -8.2040692e-07 +4765 9.538 -4.6348021e-07 -8.1751786e-07 +4766 9.54 -4.6184806e-07 -8.1463898e-07 +4767 9.542 -4.6022165e-07 -8.1177023e-07 +4768 9.544 -4.5860097e-07 -8.0891158e-07 +4769 9.546 -4.5698600e-07 -8.0606301e-07 +4770 9.548 -4.5537671e-07 -8.0322446e-07 +4771 9.55 -4.5377309e-07 -8.0039591e-07 +4772 9.552 -4.5217512e-07 -7.9757732e-07 +4773 9.554 -4.5058278e-07 -7.9476865e-07 +4774 9.556 -4.4899604e-07 -7.9196988e-07 +4775 9.558 -4.4741489e-07 -7.8918096e-07 +4776 9.56 -4.4583931e-07 -7.8640186e-07 +4777 9.562 -4.4426928e-07 -7.8363255e-07 +4778 9.564 -4.4270477e-07 -7.8087299e-07 +4779 9.566 -4.4114578e-07 -7.7812315e-07 +4780 9.568 -4.3959228e-07 -7.7538299e-07 +4781 9.57 -4.3804424e-07 -7.7265248e-07 +4782 9.572 -4.3650166e-07 -7.6993159e-07 +4783 9.574 -4.3496451e-07 -7.6722028e-07 +4784 9.576 -4.3343277e-07 -7.6451851e-07 +4785 9.578 -4.3190643e-07 -7.6182626e-07 +4786 9.58 -4.3038546e-07 -7.5914349e-07 +4787 9.582 -4.2886985e-07 -7.5647017e-07 +4788 9.584 -4.2735957e-07 -7.5380626e-07 +4789 9.586 -4.2585462e-07 -7.5115173e-07 +4790 9.588 -4.2435496e-07 -7.4850656e-07 +4791 9.59 -4.2286058e-07 -7.4587069e-07 +4792 9.592 -4.2137147e-07 -7.4324411e-07 +4793 9.594 -4.1988760e-07 -7.4062678e-07 +4794 9.596 -4.1840896e-07 -7.3801866e-07 +4795 9.598 -4.1693552e-07 -7.3541973e-07 +4796 9.6 -4.1546727e-07 -7.3282995e-07 +4797 9.602 -4.1400420e-07 -7.3024929e-07 +4798 9.604 -4.1254627e-07 -7.2767772e-07 +4799 9.606 -4.1109348e-07 -7.2511520e-07 +4800 9.608 -4.0964580e-07 -7.2256171e-07 +4801 9.61 -4.0820323e-07 -7.2001721e-07 +4802 9.612 -4.0676573e-07 -7.1748166e-07 +4803 9.614 -4.0533329e-07 -7.1495505e-07 +4804 9.616 -4.0390590e-07 -7.1243734e-07 +4805 9.618 -4.0248354e-07 -7.0992849e-07 +4806 9.62 -4.0106618e-07 -7.0742848e-07 +4807 9.622 -3.9965382e-07 -7.0493727e-07 +4808 9.624 -3.9824643e-07 -7.0245483e-07 +4809 9.626 -3.9684399e-07 -6.9998114e-07 +4810 9.628 -3.9544650e-07 -6.9751615e-07 +4811 9.63 -3.9405392e-07 -6.9505985e-07 +4812 9.632 -3.9266625e-07 -6.9261219e-07 +4813 9.634 -3.9128347e-07 -6.9017316e-07 +4814 9.636 -3.8990555e-07 -6.8774271e-07 +4815 9.638 -3.8853249e-07 -6.8532083e-07 +4816 9.64 -3.8716426e-07 -6.8290747e-07 +4817 9.642 -3.8580086e-07 -6.8050261e-07 +4818 9.644 -3.8444225e-07 -6.7810622e-07 +4819 9.646 -3.8308843e-07 -6.7571827e-07 +4820 9.648 -3.8173937e-07 -6.7333872e-07 +4821 9.65 -3.8039506e-07 -6.7096756e-07 +4822 9.652 -3.7905549e-07 -6.6860475e-07 +4823 9.654 -3.7772064e-07 -6.6625025e-07 +4824 9.656 -3.7639049e-07 -6.6390405e-07 +4825 9.658 -3.7506502e-07 -6.6156611e-07 +4826 9.66 -3.7374422e-07 -6.5923640e-07 +4827 9.662 -3.7242807e-07 -6.5691490e-07 +4828 9.664 -3.7111655e-07 -6.5460157e-07 +4829 9.666 -3.6980966e-07 -6.5229639e-07 +4830 9.668 -3.6850736e-07 -6.4999933e-07 +4831 9.67 -3.6720965e-07 -6.4771035e-07 +4832 9.672 -3.6591651e-07 -6.4542944e-07 +4833 9.674 -3.6462793e-07 -6.4315656e-07 +4834 9.676 -3.6334388e-07 -6.4089168e-07 +4835 9.678 -3.6206436e-07 -6.3863478e-07 +4836 9.68 -3.6078934e-07 -6.3638582e-07 +4837 9.682 -3.5951881e-07 -6.3414479e-07 +4838 9.684 -3.5825275e-07 -6.3191164e-07 +4839 9.686 -3.5699116e-07 -6.2968637e-07 +4840 9.688 -3.5573400e-07 -6.2746892e-07 +4841 9.69 -3.5448128e-07 -6.2525929e-07 +4842 9.692 -3.5323296e-07 -6.2305743e-07 +4843 9.694 -3.5198904e-07 -6.2086333e-07 +4844 9.696 -3.5074950e-07 -6.1867696e-07 +4845 9.698 -3.4951433e-07 -6.1649829e-07 +4846 9.7 -3.4828350e-07 -6.1432729e-07 +4847 9.702 -3.4705701e-07 -6.1216393e-07 +4848 9.704 -3.4583484e-07 -6.1000819e-07 +4849 9.706 -3.4461698e-07 -6.0786004e-07 +4850 9.708 -3.4340340e-07 -6.0571946e-07 +4851 9.71 -3.4219409e-07 -6.0358642e-07 +4852 9.712 -3.4098905e-07 -6.0146088e-07 +4853 9.714 -3.3978825e-07 -5.9934284e-07 +4854 9.716 -3.3859167e-07 -5.9723225e-07 +4855 9.718 -3.3739931e-07 -5.9512909e-07 +4856 9.72 -3.3621115e-07 -5.9303334e-07 +4857 9.722 -3.3502717e-07 -5.9094497e-07 +4858 9.724 -3.3384737e-07 -5.8886395e-07 +4859 9.726 -3.3267171e-07 -5.8679026e-07 +4860 9.728 -3.3150020e-07 -5.8472388e-07 +4861 9.73 -3.3033281e-07 -5.8266477e-07 +4862 9.732 -3.2916954e-07 -5.8061291e-07 +4863 9.734 -3.2801036e-07 -5.7856828e-07 +4864 9.736 -3.2685526e-07 -5.7653085e-07 +4865 9.738 -3.2570423e-07 -5.7450059e-07 +4866 9.74 -3.2455725e-07 -5.7247748e-07 +4867 9.742 -3.2341431e-07 -5.7046150e-07 +4868 9.744 -3.2227540e-07 -5.6845262e-07 +4869 9.746 -3.2114050e-07 -5.6645081e-07 +4870 9.748 -3.2000959e-07 -5.6445604e-07 +4871 9.75 -3.1888267e-07 -5.6246831e-07 +4872 9.752 -3.1775971e-07 -5.6048757e-07 +4873 9.754 -3.1664071e-07 -5.5851381e-07 +4874 9.756 -3.1552565e-07 -5.5654700e-07 +4875 9.758 -3.1441452e-07 -5.5458711e-07 +4876 9.76 -3.1330730e-07 -5.5263413e-07 +4877 9.762 -3.1220398e-07 -5.5068803e-07 +4878 9.764 -3.1110454e-07 -5.4874877e-07 +4879 9.766 -3.1000898e-07 -5.4681635e-07 +4880 9.768 -3.0891727e-07 -5.4489073e-07 +4881 9.77 -3.0782941e-07 -5.4297189e-07 +4882 9.772 -3.0674538e-07 -5.4105981e-07 +4883 9.774 -3.0566517e-07 -5.3915447e-07 +4884 9.776 -3.0458876e-07 -5.3725583e-07 +4885 9.778 -3.0351614e-07 -5.3536388e-07 +4886 9.78 -3.0244730e-07 -5.3347859e-07 +4887 9.782 -3.0138222e-07 -5.3159994e-07 +4888 9.784 -3.0032090e-07 -5.2972791e-07 +4889 9.786 -2.9926331e-07 -5.2786246e-07 +4890 9.788 -2.9820944e-07 -5.2600359e-07 +4891 9.79 -2.9715929e-07 -5.2415127e-07 +4892 9.792 -2.9611283e-07 -5.2230546e-07 +4893 9.794 -2.9507006e-07 -5.2046616e-07 +4894 9.796 -2.9403096e-07 -5.1863333e-07 +4895 9.798 -2.9299552e-07 -5.1680696e-07 +4896 9.8 -2.9196373e-07 -5.1498702e-07 +4897 9.802 -2.9093557e-07 -5.1317349e-07 +4898 9.804 -2.8991103e-07 -5.1136634e-07 +4899 9.806 -2.8889010e-07 -5.0956556e-07 +4900 9.808 -2.8787277e-07 -5.0777112e-07 +4901 9.81 -2.8685901e-07 -5.0598300e-07 +4902 9.812 -2.8584883e-07 -5.0420117e-07 +4903 9.814 -2.8484220e-07 -5.0242562e-07 +4904 9.816 -2.8383912e-07 -5.0065632e-07 +4905 9.818 -2.8283957e-07 -4.9889326e-07 +4906 9.82 -2.8184355e-07 -4.9713640e-07 +4907 9.822 -2.8085103e-07 -4.9538573e-07 +4908 9.824 -2.7986200e-07 -4.9364122e-07 +4909 9.826 -2.7887646e-07 -4.9190286e-07 +4910 9.828 -2.7789438e-07 -4.9017062e-07 +4911 9.83 -2.7691577e-07 -4.8844448e-07 +4912 9.832 -2.7594060e-07 -4.8672441e-07 +4913 9.834 -2.7496887e-07 -4.8501041e-07 +4914 9.836 -2.7400056e-07 -4.8330244e-07 +4915 9.838 -2.7303565e-07 -4.8160048e-07 +4916 9.84 -2.7207415e-07 -4.7990452e-07 +4917 9.842 -2.7111603e-07 -4.7821453e-07 +4918 9.844 -2.7016129e-07 -4.7653049e-07 +4919 9.846 -2.6920991e-07 -4.7485238e-07 +4920 9.848 -2.6826187e-07 -4.7318019e-07 +4921 9.85 -2.6731718e-07 -4.7151388e-07 +4922 9.852 -2.6637582e-07 -4.6985343e-07 +4923 9.854 -2.6543776e-07 -4.6819884e-07 +4924 9.856 -2.6450302e-07 -4.6655007e-07 +4925 9.858 -2.6357156e-07 -4.6490711e-07 +4926 9.86 -2.6264338e-07 -4.6326993e-07 +4927 9.862 -2.6171848e-07 -4.6163852e-07 +4928 9.864 -2.6079683e-07 -4.6001286e-07 +4929 9.866 -2.5987842e-07 -4.5839291e-07 +4930 9.868 -2.5896325e-07 -4.5677868e-07 +4931 9.87 -2.5805130e-07 -4.5517013e-07 +4932 9.872 -2.5714257e-07 -4.5356724e-07 +4933 9.874 -2.5623703e-07 -4.5196999e-07 +4934 9.876 -2.5533468e-07 -4.5037838e-07 +4935 9.878 -2.5443551e-07 -4.4879236e-07 +4936 9.88 -2.5353951e-07 -4.4721193e-07 +4937 9.882 -2.5264666e-07 -4.4563707e-07 +4938 9.884 -2.5175696e-07 -4.4406775e-07 +4939 9.886 -2.5087039e-07 -4.4250396e-07 +4940 9.888 -2.4998694e-07 -4.4094568e-07 +4941 9.89 -2.4910660e-07 -4.3939288e-07 +4942 9.892 -2.4822936e-07 -4.3784555e-07 +4943 9.894 -2.4735521e-07 -4.3630368e-07 +4944 9.896 -2.4648414e-07 -4.3476723e-07 +4945 9.898 -2.4561614e-07 -4.3323619e-07 +4946 9.9 -2.4475120e-07 -4.3171054e-07 +4947 9.902 -2.4388930e-07 -4.3019026e-07 +4948 9.904 -2.4303043e-07 -4.2867534e-07 +4949 9.906 -2.4217459e-07 -4.2716576e-07 +4950 9.908 -2.4132176e-07 -4.2566149e-07 +4951 9.91 -2.4047194e-07 -4.2416251e-07 +4952 9.912 -2.3962511e-07 -4.2266882e-07 +4953 9.914 -2.3878126e-07 -4.2118038e-07 +4954 9.916 -2.3794039e-07 -4.1969719e-07 +4955 9.918 -2.3710247e-07 -4.1821922e-07 +4956 9.92 -2.3626751e-07 -4.1674645e-07 +4957 9.922 -2.3543548e-07 -4.1527887e-07 +4958 9.924 -2.3460639e-07 -4.1381646e-07 +4959 9.926 -2.3378021e-07 -4.1235920e-07 +4960 9.928 -2.3295695e-07 -4.1090707e-07 +4961 9.93 -2.3213658e-07 -4.0946006e-07 +4962 9.932 -2.3131910e-07 -4.0801814e-07 +4963 9.934 -2.3050450e-07 -4.0658129e-07 +4964 9.936 -2.2969277e-07 -4.0514951e-07 +4965 9.938 -2.2888390e-07 -4.0372277e-07 +4966 9.94 -2.2807788e-07 -4.0230106e-07 +4967 9.942 -2.2727470e-07 -4.0088435e-07 +4968 9.944 -2.2647434e-07 -3.9947262e-07 +4969 9.946 -2.2567680e-07 -3.9806588e-07 +4970 9.948 -2.2488207e-07 -3.9666408e-07 +4971 9.95 -2.2409014e-07 -3.9526722e-07 +4972 9.952 -2.2330100e-07 -3.9387528e-07 +4973 9.954 -2.2251464e-07 -3.9248824e-07 +4974 9.956 -2.2173104e-07 -3.9110609e-07 +4975 9.958 -2.2095021e-07 -3.8972880e-07 +4976 9.96 -2.2017213e-07 -3.8835636e-07 +4977 9.962 -2.1939678e-07 -3.8698876e-07 +4978 9.964 -2.1862417e-07 -3.8562597e-07 +4979 9.966 -2.1785427e-07 -3.8426798e-07 +4980 9.968 -2.1708709e-07 -3.8291478e-07 +4981 9.97 -2.1632261e-07 -3.8156634e-07 +4982 9.972 -2.1556082e-07 -3.8022264e-07 +4983 9.974 -2.1480172e-07 -3.7888368e-07 +4984 9.976 -2.1404529e-07 -3.7754944e-07 +4985 9.978 -2.1329152e-07 -3.7621989e-07 +4986 9.98 -2.1254040e-07 -3.7489503e-07 +4987 9.982 -2.1179193e-07 -3.7357483e-07 +4988 9.984 -2.1104610e-07 -3.7225928e-07 +4989 9.986 -2.1030289e-07 -3.7094836e-07 +4990 9.988 -2.0956230e-07 -3.6964206e-07 +4991 9.99 -2.0882432e-07 -3.6834036e-07 +4992 9.992 -2.0808894e-07 -3.6704324e-07 +4993 9.994 -2.0735615e-07 -3.6575069e-07 +4994 9.996 -2.0662593e-07 -3.6446269e-07 +4995 9.998 -2.0589829e-07 -3.6317923e-07 + +Pair_O-O +N 4995 + +1 0.01 2.2000000e+25 2.6400000e+28 +2 0.012 2.4674464e+24 2.4674464e+27 +3 0.014 3.8804872e+23 3.3261319e+26 +4 0.016 7.8159701e+22 5.8619776e+25 +5 0.018 1.9017465e+22 1.2678310e+25 +6 0.02 5.3710938e+21 3.2226562e+24 +7 0.022 1.7113960e+21 9.3348872e+23 +8 0.024 6.0240391e+20 3.0120195e+23 +9 0.026 2.3053799e+20 1.0640215e+23 +10 0.028 9.4738456e+19 4.0602196e+22 +11 0.03 4.1396881e+19 1.6558753e+22 +12 0.032 1.9081958e+19 7.1557343e+21 +13 0.034 9.2188272e+18 3.2537037e+21 +14 0.036 4.6429357e+18 1.5476452e+21 +15 0.038 2.4267192e+18 7.6633237e+20 +16 0.04 1.3113022e+18 3.9339066e+20 +17 0.042 7.3018212e+17 2.0862346e+20 +18 0.044 4.1782129e+17 1.1395126e+20 +19 0.046 2.4509175e+17 6.3936979e+19 +20 0.048 1.4707127e+17 3.6767817e+19 +21 0.05 9.0112000e+16 2.1626880e+19 +22 0.052 5.6283689e+16 1.2988544e+19 +23 0.054 3.5784715e+16 7.9521589e+18 +24 0.056 2.3129506e+16 4.9563227e+18 +25 0.058 1.5180524e+16 3.1407980e+18 +26 0.06 1.0106660e+16 2.0213321e+18 +27 0.062 6.8190269e+15 1.3198117e+18 +28 0.064 4.6586812e+15 8.7350273e+17 +29 0.066 3.2202935e+15 5.8550791e+17 +30 0.068 2.2506902e+15 3.9718063e+17 +31 0.07 1.5894475e+15 2.7247672e+17 +32 0.072 1.1335292e+15 1.8892154e+17 +33 0.074 8.1590960e+14 1.3230967e+17 +34 0.076 5.9246074e+14 9.3546432e+16 +35 0.078 4.3379790e+14 6.6738139e+16 +36 0.08 3.2014214e+14 4.8021320e+16 +37 0.082 2.3804357e+14 3.4835644e+16 +38 0.084 1.7826712e+14 2.5466731e+16 +39 0.086 1.3441300e+14 1.8755302e+16 +40 0.088 1.0200715e+14 1.3910066e+16 +41 0.09 7.7895536e+13 1.0386071e+16 +42 0.092 5.9836854e+13 7.8048071e+15 +43 0.094 4.6226226e+13 5.9012203e+15 +44 0.096 3.5906071e+13 4.4882589e+15 +45 0.098 2.8035595e+13 3.4329300e+15 +46 0.1 2.2000000e+13 2.6400000e+15 +47 0.102 1.7346850e+13 2.0408059e+15 +48 0.104 1.3741135e+13 1.5855156e+15 +49 0.106 1.0933326e+13 1.2377350e+15 +50 0.108 8.7365027e+12 9.7072252e+14 +51 0.11 7.0098780e+12 7.6471396e+14 +52 0.112 5.6468520e+12 6.0501986e+14 +53 0.114 4.5663003e+12 4.8066318e+14 +54 0.116 3.7061826e+12 3.8339820e+14 +55 0.118 3.0188296e+12 3.0699962e+14 +56 0.12 2.4674464e+12 2.4674464e+14 +57 0.122 2.0235070e+12 1.9903348e+14 +58 0.124 1.6648015e+12 1.6110982e+14 +59 0.126 1.3739665e+12 1.3085395e+14 +60 0.128 1.1373733e+12 1.0662875e+14 +61 0.13 9.4428361e+11 8.7164641e+13 +62 0.132 7.8620447e+11 7.1473133e+13 +63 0.134 6.5639475e+11 5.8781620e+13 +64 0.136 5.4948492e+11 4.8483964e+13 +65 0.138 4.6118338e+11 4.0102902e+13 +66 0.14 3.8804872e+11 3.3261319e+13 +67 0.142 3.2731247e+11 2.7660209e+13 +68 0.144 2.7674054e+11 2.3061711e+13 +69 0.146 2.3452460e+11 1.9275995e+13 +70 0.148 1.9919668e+11 1.6151082e+13 +71 0.15 1.6956163e+11 1.3564930e+13 +72 0.152 1.4464373e+11 1.1419242e+13 +73 0.154 1.2364428e+11 9.6346192e+12 +74 0.156 1.0590769e+11 8.1467455e+12 +75 0.158 9.0894507e+10 6.9033803e+12 +76 0.16 7.8159702e+10 5.8619776e+12 +77 0.162 6.7335255e+10 4.9877966e+12 +78 0.164 5.8116106e+10 4.2523980e+12 +79 0.166 5.0248792e+10 3.6324428e+12 +80 0.168 4.3522247e+10 3.1087319e+12 +81 0.17 3.7760317e+10 2.6654341e+12 +82 0.172 3.2815674e+10 2.2894656e+12 +83 0.174 2.8564834e+10 1.9699885e+12 +84 0.176 2.4904090e+10 1.6980061e+12 +85 0.178 2.1746164e+10 1.4660335e+12 +86 0.18 1.9017465e+10 1.2678310e+12 +87 0.182 1.6655821e+10 1.0981860e+12 +88 0.184 1.4608608e+10 9.5273524e+11 +89 0.186 1.2831203e+10 8.2781950e+11 +90 0.188 1.1285700e+10 7.2036381e+11 +91 0.19 9.9398423e+09 6.2777948e+11 +92 0.192 8.7661311e+09 5.4788316e+11 +93 0.194 7.7410871e+09 4.7883010e+11 +94 0.196 6.8446281e+09 4.1905883e+11 +95 0.198 6.0595509e+09 3.6724548e+11 +96 0.2 5.3710943e+09 3.2226563e+11 +97 0.202 4.7665735e+09 2.8316275e+11 +98 0.204 4.2350713e+09 2.4912181e+11 +99 0.206 3.7671776e+09 2.1944721e+11 +100 0.208 3.3547698e+09 1.9354438e+11 +101 0.21 2.9908265e+09 1.7090434e+11 +102 0.212 2.6692695e+09 1.5109070e+11 +103 0.214 2.3848304e+09 1.3372878e+11 +104 0.216 2.1329357e+09 1.1849640e+11 +105 0.218 1.9096108e+09 1.0511617e+11 +106 0.22 1.7113965e+09 9.3348874e+10 +107 0.222 1.5352783e+09 8.2987994e+10 +108 0.224 1.3786265e+09 7.3854965e+10 +109 0.226 1.2391434e+09 6.5795202e+10 +110 0.228 1.1148199e+09 5.8674706e+10 +111 0.23 1.0038963e+09 5.2377175e+10 +112 0.232 9.0483021e+08 4.6801539e+10 +113 0.234 8.1626776e+08 4.1859862e+10 +114 0.236 7.3701940e+08 3.7475540e+10 +115 0.238 6.6603876e+08 3.3581764e+10 +116 0.24 6.0240437e+08 3.0120197e+10 +117 0.242 5.4530397e+08 2.7039845e+10 +118 0.244 4.9402072e+08 2.4296080e+10 +119 0.246 4.4792143e+08 2.1849805e+10 +120 0.248 4.0644613e+08 1.9666728e+10 +121 0.25 3.6909920e+08 1.7716741e+10 +122 0.252 3.3544149e+08 1.5973384e+10 +123 0.254 3.0508350e+08 1.4413374e+10 +124 0.256 2.7767948e+08 1.3016206e+10 +125 0.258 2.5292221e+08 1.1763804e+10 +126 0.26 2.3053843e+08 1.0640216e+10 +127 0.262 2.1028490e+08 9.6313507e+09 +128 0.264 1.9194488e+08 8.7247489e+09 +129 0.266 1.7532511e+08 7.9093850e+09 +130 0.268 1.6025305e+08 7.1754919e+09 +131 0.27 1.4657462e+08 6.5144098e+09 +132 0.272 1.3415202e+08 5.9184538e+09 +133 0.274 1.2286195e+08 5.3807982e+09 +134 0.276 1.1259402e+08 4.8953750e+09 +135 0.278 1.0324925e+08 4.4567851e+09 +136 0.28 9.4738872e+07 4.0602207e+09 +137 0.282 8.6983213e+07 3.7013969e+09 +138 0.284 7.9910681e+07 3.3764914e+09 +139 0.286 7.3456917e+07 3.0820924e+09 +140 0.288 6.7564013e+07 2.8151514e+09 +141 0.29 6.2179830e+07 2.5729429e+09 +142 0.292 5.7257385e+07 2.3530278e+09 +143 0.294 5.2754317e+07 2.1532222e+09 +144 0.296 4.8632399e+07 1.9715688e+09 +145 0.298 4.4857115e+07 1.8063120e+09 +146 0.3 4.1397274e+07 1.6558763e+09 +147 0.302 3.8224675e+07 1.5188468e+09 +148 0.304 3.5313800e+07 1.3939515e+09 +149 0.306 3.2641545e+07 1.2800465e+09 +150 0.308 3.0186976e+07 1.1761021e+09 +151 0.31 2.7931116e+07 1.0811908e+09 +152 0.312 2.5856750e+07 9.9447683e+08 +153 0.314 2.3948249e+07 9.1520630e+08 +154 0.316 2.2191417e+07 8.4269883e+08 +155 0.318 2.0573355e+07 7.7633998e+08 +156 0.32 1.9082330e+07 7.1557447e+08 +157 0.322 1.7707664e+07 6.5990022e+08 +158 0.324 1.6439639e+07 6.0886292e+08 +159 0.326 1.5269397e+07 5.6205124e+08 +160 0.328 1.4188866e+07 5.1909256e+08 +161 0.33 1.3190684e+07 4.7964909e+08 +162 0.332 1.2268131e+07 4.4341443e+08 +163 0.334 1.1415073e+07 4.1011052e+08 +164 0.336 1.0625904e+07 3.7948486e+08 +165 0.338 9.8955010e+06 3.5130800e+08 +166 0.34 9.2191787e+06 3.2537135e+08 +167 0.342 8.5926490e+06 3.0148517e+08 +168 0.344 8.0119865e+06 2.7947675e+08 +169 0.346 7.4735953e+06 2.5918882e+08 +170 0.348 6.9741801e+06 2.4047808e+08 +171 0.35 6.5107189e+06 2.2321388e+08 +172 0.352 6.0804398e+06 2.0727708e+08 +173 0.354 5.6807984e+06 1.9255892e+08 +174 0.356 5.3094581e+06 1.7896011e+08 +175 0.358 4.9642724e+06 1.6638992e+08 +176 0.36 4.6432681e+06 1.5476545e+08 +177 0.362 4.3446308e+06 1.4401088e+08 +178 0.364 4.0666910e+06 1.3405682e+08 +179 0.366 3.8079123e+06 1.2483978e+08 +180 0.368 3.5668795e+06 1.1630160e+08 +181 0.37 3.3422890e+06 1.0838898e+08 +182 0.372 3.1329392e+06 1.0105308e+08 +183 0.374 2.9377221e+06 9.4249099e+07 +184 0.376 2.7556156e+06 8.7935923e+07 +185 0.378 2.5856764e+06 8.2075814e+07 +186 0.38 2.4270335e+06 7.6634114e+07 +187 0.382 2.2788823e+06 7.1578980e+07 +188 0.384 2.1404794e+06 6.6881136e+07 +189 0.386 2.0111376e+06 6.2513665e+07 +190 0.388 1.8902211e+06 5.8451797e+07 +191 0.39 1.7771419e+06 5.4672737e+07 +192 0.392 1.6713556e+06 5.1155491e+07 +193 0.394 1.5723583e+06 4.7880723e+07 +194 0.396 1.4796830e+06 4.4830609e+07 +195 0.398 1.3928971e+06 4.1988719e+07 +196 0.4 1.3115994e+06 3.9339895e+07 +197 0.402 1.2354181e+06 3.6870155e+07 +198 0.404 1.1640081e+06 3.4566586e+07 +199 0.406 1.0970490e+06 3.2417269e+07 +200 0.408 1.0342435e+06 3.0411189e+07 +201 0.41 9.7531553e+05 2.8538167e+07 +202 0.412 9.2000843e+05 2.6788792e+07 +203 0.414 8.6808375e+05 2.5154360e+07 +204 0.416 8.1931975e+05 2.3626817e+07 +205 0.418 7.7351020e+05 2.2198709e+07 +206 0.42 7.3046324e+05 2.0863132e+07 +207 0.422 6.9000026e+05 1.9613692e+07 +208 0.424 6.5195500e+05 1.8444465e+07 +209 0.426 6.1617259e+05 1.7349960e+07 +210 0.428 5.8250875e+05 1.6325082e+07 +211 0.43 5.5082901e+05 1.5365107e+07 +212 0.432 5.2100799e+05 1.4465652e+07 +213 0.434 4.9292877e+05 1.3622648e+07 +214 0.436 4.6648229e+05 1.2832314e+07 +215 0.438 4.4156675e+05 1.2091142e+07 +216 0.44 4.1808713e+05 1.1395869e+07 +217 0.442 3.9595470e+05 1.0743463e+07 +218 0.444 3.7508658e+05 1.0131105e+07 +219 0.446 3.5540533e+05 9.5561721e+06 +220 0.448 3.3683857e+05 9.0162249e+06 +221 0.45 3.1931863e+05 8.5089921e+06 +222 0.452 3.0278221e+05 8.0323591e+06 +223 0.454 2.8717011e+05 7.5843567e+06 +224 0.456 2.7242692e+05 7.1631501e+06 +225 0.458 2.5850078e+05 6.7670293e+06 +226 0.46 2.4534314e+05 6.3944006e+06 +227 0.462 2.3290851e+05 6.0437773e+06 +228 0.464 2.2115429e+05 5.7137732e+06 +229 0.466 2.1004054e+05 5.4030944e+06 +230 0.468 1.9952983e+05 5.1105335e+06 +231 0.47 1.8958708e+05 4.8349631e+06 +232 0.472 1.8017936e+05 4.5753303e+06 +233 0.474 1.7127579e+05 4.3306518e+06 +234 0.476 1.6284740e+05 4.1000083e+06 +235 0.478 1.5486697e+05 3.8825409e+06 +236 0.48 1.4730899e+05 3.6774463e+06 +237 0.482 1.4014944e+05 3.4839734e+06 +238 0.484 1.3336581e+05 3.3014194e+06 +239 0.486 1.2693692e+05 3.1291268e+06 +240 0.488 1.2084288e+05 2.9664800e+06 +241 0.49 1.1506496e+05 2.8129027e+06 +242 0.492 1.0958558e+05 2.6678552e+06 +243 0.494 1.0438819e+05 2.5308320e+06 +244 0.496 9.9457219e+04 2.4013592e+06 +245 0.498 9.4778016e+04 2.2789929e+06 +246 0.5 9.0336788e+04 2.1633167e+06 +247 0.502 8.6120550e+04 2.0539404e+06 +248 0.504 8.2117071e+04 1.9504976e+06 +249 0.506 7.8314833e+04 1.8526449e+06 +250 0.508 7.4702980e+04 1.7600598e+06 +251 0.51 7.1271284e+04 1.6724397e+06 +252 0.512 6.8010102e+04 1.5895003e+06 +253 0.514 6.4910341e+04 1.5109749e+06 +254 0.516 6.1963427e+04 1.4366125e+06 +255 0.518 5.9161272e+04 1.3661778e+06 +256 0.52 5.6496245e+04 1.2994491e+06 +257 0.522 5.3961144e+04 1.2362185e+06 +258 0.524 5.1549170e+04 1.1762900e+06 +259 0.526 4.9253906e+04 1.1194797e+06 +260 0.528 4.7069288e+04 1.0656144e+06 +261 0.53 4.4989594e+04 1.0145310e+06 +262 0.532 4.3009412e+04 9.6607621e+05 +263 0.534 4.1123633e+04 9.2010564e+05 +264 0.536 3.9327424e+04 8.7648329e+05 +265 0.538 3.7616220e+04 8.3508113e+05 +266 0.54 3.5985700e+04 7.9577850e+05 +267 0.542 3.4431782e+04 7.5846176e+05 +268 0.544 3.2950601e+04 7.2302376e+05 +269 0.546 3.1538502e+04 6.8936352e+05 +270 0.548 3.0192025e+04 6.5738582e+05 +271 0.55 2.8907897e+04 6.2700087e+05 +272 0.552 2.7683017e+04 5.9812397e+05 +273 0.554 2.6514449e+04 5.7067521e+05 +274 0.556 2.5399414e+04 5.4457916e+05 +275 0.558 2.4335278e+04 5.1976464e+05 +276 0.56 2.3319546e+04 4.9616447e+05 +277 0.562 2.2349853e+04 4.7371518e+05 +278 0.564 2.1423958e+04 4.5235685e+05 +279 0.566 2.0539736e+04 4.3203286e+05 +280 0.568 1.9695173e+04 4.1268972e+05 +281 0.57 1.8888357e+04 3.9427689e+05 +282 0.572 1.8117477e+04 3.7674659e+05 +283 0.574 1.7380813e+04 3.6005364e+05 +284 0.576 1.6676733e+04 3.4415533e+05 +285 0.578 1.6003689e+04 3.2901126e+05 +286 0.58 1.5360210e+04 3.1458322e+05 +287 0.582 1.4744902e+04 3.0083506e+05 +288 0.584 1.4156440e+04 2.8773256e+05 +289 0.586 1.3593563e+04 2.7524333e+05 +290 0.588 1.3055078e+04 2.6333672e+05 +291 0.59 1.2539847e+04 2.5198370e+05 +292 0.592 1.2046792e+04 2.4115678e+05 +293 0.594 1.1574887e+04 2.3082992e+05 +294 0.596 1.1123156e+04 2.2097845e+05 +295 0.598 1.0690672e+04 2.1157900e+05 +296 0.6 1.0276553e+04 2.0260940e+05 +297 0.602 9.8799617e+03 1.9404867e+05 +298 0.604 9.5000994e+03 1.8587690e+05 +299 0.606 9.1362074e+03 1.7807521e+05 +300 0.608 8.7875638e+03 1.7062569e+05 +301 0.61 8.4534812e+03 1.6351136e+05 +302 0.612 8.1333056e+03 1.5671611e+05 +303 0.614 7.8264143e+03 1.5022466e+05 +304 0.616 7.5322142e+03 1.4402249e+05 +305 0.618 7.2501407e+03 1.3809583e+05 +306 0.62 6.9796559e+03 1.3243160e+05 +307 0.622 6.7202476e+03 1.2701739e+05 +308 0.624 6.4714275e+03 1.2184142e+05 +309 0.626 6.2327306e+03 1.1689247e+05 +310 0.628 6.0037134e+03 1.1215991e+05 +311 0.63 5.7839534e+03 1.0763363e+05 +312 0.632 5.5730478e+03 1.0330403e+05 +313 0.634 5.3706123e+03 9.9161967e+04 +314 0.636 5.1762807e+03 9.5198764e+04 +315 0.638 4.9897035e+03 9.1406169e+04 +316 0.64 4.8105475e+03 8.7776334e+04 +317 0.642 4.6384946e+03 8.4301793e+04 +318 0.644 4.4732415e+03 8.0975447e+04 +319 0.646 4.3144986e+03 7.7790540e+04 +320 0.648 4.1619894e+03 7.4740645e+04 +321 0.65 4.0154501e+03 7.1819646e+04 +322 0.652 3.8746287e+03 6.9021719e+04 +323 0.654 3.7392848e+03 6.6341323e+04 +324 0.656 3.6091886e+03 6.3773180e+04 +325 0.658 3.4841206e+03 6.1312265e+04 +326 0.66 3.3638713e+03 5.8953793e+04 +327 0.662 3.2482402e+03 5.6693205e+04 +328 0.664 3.1370361e+03 5.4526157e+04 +329 0.666 3.0300760e+03 5.2448513e+04 +330 0.668 2.9271851e+03 5.0456329e+04 +331 0.67 2.8281962e+03 4.8545846e+04 +332 0.672 2.7329496e+03 4.6713483e+04 +333 0.674 2.6412925e+03 4.4955823e+04 +334 0.676 2.5530787e+03 4.3269611e+04 +335 0.678 2.4681685e+03 4.1651740e+04 +336 0.68 2.3864282e+03 4.0099250e+04 +337 0.682 2.3077298e+03 3.8609314e+04 +338 0.684 2.2319510e+03 3.7179236e+04 +339 0.686 2.1589747e+03 3.5806446e+04 +340 0.688 2.0886887e+03 3.4488489e+04 +341 0.69 2.0209857e+03 3.3223021e+04 +342 0.692 1.9557631e+03 3.2007808e+04 +343 0.694 1.8929224e+03 3.0840714e+04 +344 0.696 1.8323695e+03 2.9719701e+04 +345 0.698 1.7740142e+03 2.8642822e+04 +346 0.7 1.7177700e+03 2.7608219e+04 +347 0.702 1.6635543e+03 2.6614116e+04 +348 0.704 1.6112877e+03 2.5658817e+04 +349 0.706 1.5608942e+03 2.4740701e+04 +350 0.708 1.5123011e+03 2.3858219e+04 +351 0.71 1.4654386e+03 2.3009891e+04 +352 0.712 1.4202398e+03 2.2194303e+04 +353 0.714 1.3766405e+03 2.1410102e+04 +354 0.716 1.3345793e+03 2.0655995e+04 +355 0.718 1.2939973e+03 1.9930746e+04 +356 0.72 1.2548378e+03 1.9233174e+04 +357 0.722 1.2170469e+03 1.8562146e+04 +358 0.724 1.1805723e+03 1.7916583e+04 +359 0.726 1.1453642e+03 1.7295448e+04 +360 0.728 1.1113749e+03 1.6697753e+04 +361 0.73 1.0785582e+03 1.6122550e+04 +362 0.732 1.0468703e+03 1.5568932e+04 +363 0.734 1.0162687e+03 1.5036033e+04 +364 0.736 9.8671289e+02 1.4523021e+04 +365 0.738 9.5816389e+02 1.4029101e+04 +366 0.74 9.3058427e+02 1.3553512e+04 +367 0.742 9.0393811e+02 1.3095526e+04 +368 0.744 8.7819090e+02 1.2654444e+04 +369 0.746 8.5330951e+02 1.2229598e+04 +370 0.748 8.2926211e+02 1.1820346e+04 +371 0.75 8.0601813e+02 1.1426077e+04 +372 0.752 7.8354821e+02 1.1046200e+04 +373 0.754 7.6182411e+02 1.0680154e+04 +374 0.756 7.4081873e+02 1.0327399e+04 +375 0.758 7.2050600e+02 9.9874166e+03 +376 0.76 7.0086088e+02 9.6597112e+03 +377 0.762 6.8185929e+02 9.3438073e+03 +378 0.764 6.6347809e+02 9.0392491e+03 +379 0.766 6.4569502e+02 8.7455994e+03 +380 0.768 6.2848870e+02 8.4624390e+03 +381 0.77 6.1183854e+02 8.1893659e+03 +382 0.772 5.9572477e+02 7.9259944e+03 +383 0.774 5.8012834e+02 7.6719545e+03 +384 0.776 5.6503096e+02 7.4268914e+03 +385 0.778 5.5041502e+02 7.1904644e+03 +386 0.78 5.3626357e+02 6.9623467e+03 +387 0.782 5.2256030e+02 6.7422248e+03 +388 0.784 5.0928954e+02 6.5297976e+03 +389 0.786 4.9643618e+02 6.3247762e+03 +390 0.788 4.8398568e+02 6.1268830e+03 +391 0.79 4.7192407e+02 5.9358519e+03 +392 0.792 4.6023787e+02 5.7514270e+03 +393 0.794 4.4891412e+02 5.5733628e+03 +394 0.796 4.3794034e+02 5.4014234e+03 +395 0.798 4.2730450e+02 5.2353822e+03 +396 0.8 4.1699502e+02 5.0750216e+03 +397 0.802 4.0700076e+02 4.9201326e+03 +398 0.804 3.9731098e+02 4.7705142e+03 +399 0.806 3.8791532e+02 4.6259735e+03 +400 0.808 3.7880382e+02 4.4863250e+03 +401 0.81 3.6996688e+02 4.3513903e+03 +402 0.812 3.6139523e+02 4.2209982e+03 +403 0.814 3.5307997e+02 4.0949839e+03 +404 0.816 3.4501248e+02 3.9731891e+03 +405 0.818 3.3718450e+02 3.8554615e+03 +406 0.82 3.2958802e+02 3.7416547e+03 +407 0.822 3.2221536e+02 3.6316280e+03 +408 0.824 3.1505908e+02 3.5252459e+03 +409 0.826 3.0811203e+02 3.4223782e+03 +410 0.828 3.0136731e+02 3.3228997e+03 +411 0.83 2.9481826e+02 3.2266899e+03 +412 0.832 2.8845845e+02 3.1336328e+03 +413 0.834 2.8228170e+02 3.0436169e+03 +414 0.836 2.7628203e+02 2.9565348e+03 +415 0.838 2.7045367e+02 2.8722831e+03 +416 0.84 2.6479107e+02 2.7907626e+03 +417 0.842 2.5928886e+02 2.7118774e+03 +418 0.844 2.5394187e+02 2.6355355e+03 +419 0.846 2.4874509e+02 2.5616481e+03 +420 0.848 2.4369370e+02 2.4901299e+03 +421 0.85 2.3878304e+02 2.4208986e+03 +422 0.852 2.3400863e+02 2.3538750e+03 +423 0.854 2.2936612e+02 2.2889829e+03 +424 0.856 2.2485133e+02 2.2261489e+03 +425 0.858 2.2046020e+02 2.1653021e+03 +426 0.86 2.1618884e+02 2.1063744e+03 +427 0.862 2.1203347e+02 2.0493002e+03 +428 0.864 2.0799044e+02 1.9940162e+03 +429 0.866 2.0405625e+02 1.9404614e+03 +430 0.868 2.0022748e+02 1.8885771e+03 +431 0.87 1.9650087e+02 1.8383067e+03 +432 0.872 1.9287322e+02 1.7895956e+03 +433 0.874 1.8934148e+02 1.7423912e+03 +434 0.876 1.8590268e+02 1.6966429e+03 +435 0.878 1.8255397e+02 1.6523016e+03 +436 0.88 1.7929257e+02 1.6093204e+03 +437 0.882 1.7611581e+02 1.5676537e+03 +438 0.884 1.7302111e+02 1.5272578e+03 +439 0.886 1.7000596e+02 1.4880903e+03 +440 0.888 1.6706795e+02 1.4501106e+03 +441 0.89 1.6420475e+02 1.4132792e+03 +442 0.892 1.6141410e+02 1.3775583e+03 +443 0.894 1.5869380e+02 1.3429114e+03 +444 0.896 1.5604176e+02 1.3093030e+03 +445 0.898 1.5345592e+02 1.2766991e+03 +446 0.9 1.5093432e+02 1.2450669e+03 +447 0.902 1.4847503e+02 1.2143747e+03 +448 0.904 1.4607621e+02 1.1845918e+03 +449 0.906 1.4373607e+02 1.1556887e+03 +450 0.908 1.4145289e+02 1.1276369e+03 +451 0.91 1.3922498e+02 1.1004089e+03 +452 0.912 1.3705072e+02 1.0739781e+03 +453 0.914 1.3492855e+02 1.0483188e+03 +454 0.916 1.3285695e+02 1.0234062e+03 +455 0.918 1.3083444e+02 9.9921647e+02 +456 0.92 1.2885962e+02 9.7572648e+02 +457 0.922 1.2693109e+02 9.5291390e+02 +458 0.924 1.2504752e+02 9.3075720e+02 +459 0.926 1.2320763e+02 9.0923554e+02 +460 0.928 1.2141017e+02 8.8832884e+02 +461 0.93 1.1965392e+02 8.6801765e+02 +462 0.932 1.1793772e+02 8.4828321e+02 +463 0.934 1.1626042e+02 8.2910739e+02 +464 0.936 1.1462093e+02 8.1047266e+02 +465 0.938 1.1301818e+02 7.9236209e+02 +466 0.94 1.1145114e+02 7.7475931e+02 +467 0.942 1.0991881e+02 7.5764851e+02 +468 0.944 1.0842023e+02 7.4101440e+02 +469 0.946 1.0695445e+02 7.2484218e+02 +470 0.948 1.0552056e+02 7.0911759e+02 +471 0.95 1.0411769e+02 6.9382680e+02 +472 0.952 1.0274497e+02 6.7895646e+02 +473 0.954 1.0140159e+02 6.6449366e+02 +474 0.956 1.0008673e+02 6.5042590e+02 +475 0.958 9.8799630e+01 6.3674111e+02 +476 0.96 9.7539522e+01 6.2342761e+02 +477 0.962 9.6305680e+01 6.1047410e+02 +478 0.964 9.5097393e+01 5.9786965e+02 +479 0.966 9.3913975e+01 5.8560370e+02 +480 0.968 9.2754760e+01 5.7366601e+02 +481 0.97 9.1619099e+01 5.6204670e+02 +482 0.972 9.0506367e+01 5.5073618e+02 +483 0.974 8.9415955e+01 5.3972519e+02 +484 0.976 8.8347272e+01 5.2900478e+02 +485 0.978 8.7299748e+01 5.1856626e+02 +486 0.98 8.6272825e+01 5.0840124e+02 +487 0.982 8.5265966e+01 4.9850159e+02 +488 0.984 8.4278647e+01 4.8885944e+02 +489 0.986 8.3310361e+01 4.7946719e+02 +490 0.988 8.2360617e+01 4.7031745e+02 +491 0.99 8.1428935e+01 4.6140309e+02 +492 0.992 8.0514852e+01 4.5271720e+02 +493 0.994 7.9617918e+01 4.4425309e+02 +494 0.996 7.8737696e+01 4.3600428e+02 +495 0.998 7.7873762e+01 4.2796449e+02 +496 1.0 7.7025703e+01 4.2012765e+02 +497 1.002 7.6193120e+01 4.1248787e+02 +498 1.004 7.5375624e+01 4.0503944e+02 +499 1.006 7.4572838e+01 3.9777685e+02 +500 1.008 7.3784396e+01 3.9069474e+02 +501 1.01 7.3009942e+01 3.8378793e+02 +502 1.012 7.2249131e+01 3.7705139e+02 +503 1.014 7.1501626e+01 3.7048027e+02 +504 1.016 7.0767103e+01 3.6406984e+02 +505 1.018 7.0045243e+01 3.5781553e+02 +506 1.02 6.9335739e+01 3.5171292e+02 +507 1.022 6.8638293e+01 3.4575771e+02 +508 1.024 6.7952613e+01 3.3994574e+02 +509 1.026 6.7278417e+01 3.3427298e+02 +510 1.028 6.6615431e+01 3.2873553e+02 +511 1.03 6.5963387e+01 3.2332958e+02 +512 1.032 6.5322027e+01 3.1805146e+02 +513 1.034 6.4691099e+01 3.1289762e+02 +514 1.036 6.4070356e+01 3.0786460e+02 +515 1.038 6.3459562e+01 3.0294904e+02 +516 1.04 6.2858484e+01 2.9814770e+02 +517 1.042 6.2266897e+01 2.9345743e+02 +518 1.044 6.1684582e+01 2.8887518e+02 +519 1.046 6.1111326e+01 2.8439797e+02 +520 1.048 6.0546922e+01 2.8002293e+02 +521 1.05 5.9991168e+01 2.7574728e+02 +522 1.052 5.9443869e+01 2.7156831e+02 +523 1.054 5.8904833e+01 2.6748339e+02 +524 1.056 5.8373874e+01 2.6348998e+02 +525 1.058 5.7850813e+01 2.5958560e+02 +526 1.06 5.7335474e+01 2.5576786e+02 +527 1.062 5.6827686e+01 2.5203443e+02 +528 1.064 5.6327282e+01 2.4838305e+02 +529 1.066 5.5834100e+01 2.4481153e+02 +530 1.068 5.5347984e+01 2.4131774e+02 +531 1.07 5.4868779e+01 2.3789962e+02 +532 1.072 5.4396336e+01 2.3455516e+02 +533 1.074 5.3930510e+01 2.3128241e+02 +534 1.076 5.3471160e+01 2.2807949e+02 +535 1.078 5.3018147e+01 2.2494456e+02 +536 1.08 5.2571338e+01 2.2187583e+02 +537 1.082 5.2130601e+01 2.1887159e+02 +538 1.084 5.1695809e+01 2.1593014e+02 +539 1.086 5.1266839e+01 2.1304986e+02 +540 1.088 5.0843570e+01 2.1022916e+02 +541 1.09 5.0425884e+01 2.0746651e+02 +542 1.092 5.0013666e+01 2.0476041e+02 +543 1.094 4.9606806e+01 2.0210940e+02 +544 1.096 4.9205193e+01 1.9951208e+02 +545 1.098 4.8808722e+01 1.9696708e+02 +546 1.1 4.8417291e+01 1.9447306e+02 +547 1.102 4.8030797e+01 1.9202873e+02 +548 1.104 4.7649144e+01 1.8963283e+02 +549 1.106 4.7272234e+01 1.8728414e+02 +550 1.108 4.6899976e+01 1.8498148e+02 +551 1.11 4.6532278e+01 1.8272369e+02 +552 1.112 4.6169052e+01 1.8050965e+02 +553 1.114 4.5810211e+01 1.7833827e+02 +554 1.116 4.5455672e+01 1.7620849e+02 +555 1.118 4.5105350e+01 1.7411928e+02 +556 1.12 4.4759168e+01 1.7206963e+02 +557 1.122 4.4417046e+01 1.7005859e+02 +558 1.124 4.4078909e+01 1.6808519e+02 +559 1.126 4.3744681e+01 1.6614851e+02 +560 1.128 4.3414291e+01 1.6424768e+02 +561 1.13 4.3087667e+01 1.6238180e+02 +562 1.132 4.2764741e+01 1.6055004e+02 +563 1.134 4.2445445e+01 1.5875158e+02 +564 1.136 4.2129713e+01 1.5698560e+02 +565 1.138 4.1817481e+01 1.5525134e+02 +566 1.14 4.1508687e+01 1.5354804e+02 +567 1.142 4.1203269e+01 1.5187496e+02 +568 1.144 4.0901167e+01 1.5023138e+02 +569 1.146 4.0602324e+01 1.4861660e+02 +570 1.148 4.0306682e+01 1.4702995e+02 +571 1.15 4.0014186e+01 1.4547077e+02 +572 1.152 3.9724781e+01 1.4393841e+02 +573 1.154 3.9438415e+01 1.4243225e+02 +574 1.156 3.9155035e+01 1.4095167e+02 +575 1.158 3.8874591e+01 1.3949610e+02 +576 1.16 3.8597034e+01 1.3806494e+02 +577 1.162 3.8322316e+01 1.3665764e+02 +578 1.164 3.8050388e+01 1.3527366e+02 +579 1.166 3.7781206e+01 1.3391246e+02 +580 1.168 3.7514724e+01 1.3257351e+02 +581 1.17 3.7250897e+01 1.3125633e+02 +582 1.172 3.6989684e+01 1.2996042e+02 +583 1.174 3.6731042e+01 1.2868529e+02 +584 1.176 3.6474929e+01 1.2743049e+02 +585 1.178 3.6221307e+01 1.2619556e+02 +586 1.18 3.5970134e+01 1.2498006e+02 +587 1.182 3.5721374e+01 1.2378356e+02 +588 1.184 3.5474988e+01 1.2260563e+02 +589 1.186 3.5230939e+01 1.2144588e+02 +590 1.188 3.4989192e+01 1.2030391e+02 +591 1.19 3.4749712e+01 1.1917932e+02 +592 1.192 3.4512464e+01 1.1807174e+02 +593 1.194 3.4277414e+01 1.1698081e+02 +594 1.196 3.4044530e+01 1.1590616e+02 +595 1.198 3.3813779e+01 1.1484744e+02 +596 1.2 3.3585129e+01 1.1380432e+02 +597 1.202 3.3358551e+01 1.1277646e+02 +598 1.204 3.3134014e+01 1.1176354e+02 +599 1.206 3.2911487e+01 1.1076525e+02 +600 1.208 3.2690943e+01 1.0978127e+02 +601 1.21 3.2472353e+01 1.0881131e+02 +602 1.212 3.2255689e+01 1.0785508e+02 +603 1.214 3.2040923e+01 1.0691230e+02 +604 1.216 3.1828031e+01 1.0598267e+02 +605 1.218 3.1616984e+01 1.0506595e+02 +606 1.22 3.1407758e+01 1.0416185e+02 +607 1.222 3.1200329e+01 1.0327012e+02 +608 1.224 3.0994670e+01 1.0239052e+02 +609 1.226 3.0790759e+01 1.0152280e+02 +610 1.228 3.0588571e+01 1.0066671e+02 +611 1.23 3.0388084e+01 9.9822035e+01 +612 1.232 3.0189275e+01 9.8988536e+01 +613 1.234 2.9992123e+01 9.8165995e+01 +614 1.236 2.9796604e+01 9.7354195e+01 +615 1.238 2.9602699e+01 9.6552926e+01 +616 1.24 2.9410386e+01 9.5761982e+01 +617 1.242 2.9219644e+01 9.4981162e+01 +618 1.244 2.9030454e+01 9.4210270e+01 +619 1.246 2.8842797e+01 9.3449115e+01 +620 1.248 2.8656652e+01 9.2697509e+01 +621 1.25 2.8472000e+01 9.1955272e+01 +622 1.252 2.8288824e+01 9.1222224e+01 +623 1.254 2.8107105e+01 9.0498193e+01 +624 1.256 2.7926826e+01 8.9783008e+01 +625 1.258 2.7747968e+01 8.9076505e+01 +626 1.26 2.7570514e+01 8.8378521e+01 +627 1.262 2.7394448e+01 8.7688899e+01 +628 1.264 2.7219753e+01 8.7007484e+01 +629 1.266 2.7046413e+01 8.6334126e+01 +630 1.268 2.6874411e+01 8.5668679e+01 +631 1.27 2.6703733e+01 8.5010997e+01 +632 1.272 2.6534362e+01 8.4360942e+01 +633 1.274 2.6366284e+01 8.3718377e+01 +634 1.276 2.6199484e+01 8.3083166e+01 +635 1.278 2.6033946e+01 8.2455180e+01 +636 1.28 2.5869658e+01 8.1834290e+01 +637 1.282 2.5706605e+01 8.1220373e+01 +638 1.284 2.5544772e+01 8.0613305e+01 +639 1.286 2.5384147e+01 8.0012968e+01 +640 1.288 2.5224716e+01 7.9419244e+01 +641 1.29 2.5066466e+01 7.8832021e+01 +642 1.292 2.4909383e+01 7.8251187e+01 +643 1.294 2.4753457e+01 7.7676632e+01 +644 1.296 2.4598673e+01 7.7108251e+01 +645 1.298 2.4445020e+01 7.6545939e+01 +646 1.3 2.4292485e+01 7.5989595e+01 +647 1.302 2.4141057e+01 7.5439119e+01 +648 1.304 2.3990725e+01 7.4894414e+01 +649 1.306 2.3841476e+01 7.4355384e+01 +650 1.308 2.3693300e+01 7.3821937e+01 +651 1.31 2.3546185e+01 7.3293982e+01 +652 1.312 2.3400120e+01 7.2771430e+01 +653 1.314 2.3255095e+01 7.2254193e+01 +654 1.316 2.3111100e+01 7.1742187e+01 +655 1.318 2.2968123e+01 7.1235327e+01 +656 1.32 2.2826155e+01 7.0733533e+01 +657 1.322 2.2685186e+01 7.0236724e+01 +658 1.324 2.2545205e+01 6.9744823e+01 +659 1.326 2.2406203e+01 6.9257753e+01 +660 1.328 2.2268171e+01 6.8775439e+01 +661 1.33 2.2131098e+01 6.8297808e+01 +662 1.332 2.1994976e+01 6.7824788e+01 +663 1.334 2.1859796e+01 6.7356310e+01 +664 1.336 2.1725548e+01 6.6892303e+01 +665 1.338 2.1592224e+01 6.6432702e+01 +666 1.34 2.1459814e+01 6.5977440e+01 +667 1.342 2.1328311e+01 6.5526452e+01 +668 1.344 2.1197706e+01 6.5079676e+01 +669 1.346 2.1067990e+01 6.4637050e+01 +670 1.348 2.0939155e+01 6.4198512e+01 +671 1.35 2.0811193e+01 6.3764004e+01 +672 1.352 2.0684096e+01 6.3333468e+01 +673 1.354 2.0557857e+01 6.2906845e+01 +674 1.356 2.0432466e+01 6.2484082e+01 +675 1.358 2.0307918e+01 6.2065122e+01 +676 1.36 2.0184203e+01 6.1649912e+01 +677 1.362 2.0061316e+01 6.1238400e+01 +678 1.364 1.9939247e+01 6.0830534e+01 +679 1.366 1.9817991e+01 6.0426264e+01 +680 1.368 1.9697540e+01 6.0025540e+01 +681 1.37 1.9577887e+01 5.9628314e+01 +682 1.372 1.9459024e+01 5.9234537e+01 +683 1.374 1.9340946e+01 5.8844164e+01 +684 1.376 1.9223645e+01 5.8457149e+01 +685 1.378 1.9107115e+01 5.8073447e+01 +686 1.38 1.8991349e+01 5.7693014e+01 +687 1.382 1.8876341e+01 5.7315806e+01 +688 1.384 1.8762084e+01 5.6941782e+01 +689 1.386 1.8648572e+01 5.6570900e+01 +690 1.388 1.8535798e+01 5.6203119e+01 +691 1.39 1.8423757e+01 5.5838399e+01 +692 1.392 1.8312443e+01 5.5476702e+01 +693 1.394 1.8201849e+01 5.5117988e+01 +694 1.396 1.8091969e+01 5.4762220e+01 +695 1.398 1.7982798e+01 5.4409360e+01 +696 1.4 1.7874330e+01 5.4059373e+01 +697 1.402 1.7766558e+01 5.3712223e+01 +698 1.404 1.7659479e+01 5.3367875e+01 +699 1.406 1.7553085e+01 5.3026294e+01 +700 1.408 1.7447372e+01 5.2687447e+01 +701 1.41 1.7342333e+01 5.2351299e+01 +702 1.412 1.7237965e+01 5.2017820e+01 +703 1.414 1.7134260e+01 5.1686977e+01 +704 1.416 1.7031215e+01 5.1358738e+01 +705 1.418 1.6928824e+01 5.1033073e+01 +706 1.42 1.6827081e+01 5.0709951e+01 +707 1.422 1.6725982e+01 5.0389342e+01 +708 1.424 1.6625522e+01 5.0071218e+01 +709 1.426 1.6525696e+01 4.9755549e+01 +710 1.428 1.6426498e+01 4.9442308e+01 +711 1.43 1.6327925e+01 4.9131466e+01 +712 1.432 1.6229971e+01 4.8822996e+01 +713 1.434 1.6132631e+01 4.8516872e+01 +714 1.436 1.6035902e+01 4.8213067e+01 +715 1.438 1.5939778e+01 4.7911555e+01 +716 1.44 1.5844254e+01 4.7612311e+01 +717 1.442 1.5749327e+01 4.7315310e+01 +718 1.444 1.5654991e+01 4.7020527e+01 +719 1.446 1.5561243e+01 4.6727937e+01 +720 1.448 1.5468078e+01 4.6437518e+01 +721 1.45 1.5375492e+01 4.6149246e+01 +722 1.452 1.5283480e+01 4.5863097e+01 +723 1.454 1.5192038e+01 4.5579049e+01 +724 1.456 1.5101162e+01 4.5297080e+01 +725 1.458 1.5010848e+01 4.5017167e+01 +726 1.46 1.4921092e+01 4.4739290e+01 +727 1.462 1.4831890e+01 4.4463427e+01 +728 1.464 1.4743237e+01 4.4189557e+01 +729 1.466 1.4655130e+01 4.3917659e+01 +730 1.468 1.4567565e+01 4.3647714e+01 +731 1.47 1.4480538e+01 4.3379701e+01 +732 1.472 1.4394045e+01 4.3113601e+01 +733 1.474 1.4308082e+01 4.2849395e+01 +734 1.476 1.4222646e+01 4.2587062e+01 +735 1.478 1.4137733e+01 4.2326586e+01 +736 1.48 1.4053339e+01 4.2067947e+01 +737 1.482 1.3969460e+01 4.1811128e+01 +738 1.484 1.3886093e+01 4.1556109e+01 +739 1.486 1.3803234e+01 4.1302875e+01 +740 1.488 1.3720880e+01 4.1051407e+01 +741 1.49 1.3639028e+01 4.0801688e+01 +742 1.492 1.3557672e+01 4.0553701e+01 +743 1.494 1.3476812e+01 4.0307431e+01 +744 1.496 1.3396442e+01 4.0062860e+01 +745 1.498 1.3316559e+01 3.9819973e+01 +746 1.5 1.3237161e+01 3.9578754e+01 +747 1.502 1.3158243e+01 3.9339186e+01 +748 1.504 1.3079803e+01 3.9101255e+01 +749 1.506 1.3001837e+01 3.8864946e+01 +750 1.508 1.2924342e+01 3.8630243e+01 +751 1.51 1.2847315e+01 3.8397132e+01 +752 1.512 1.2770752e+01 3.8165598e+01 +753 1.514 1.2694651e+01 3.7935627e+01 +754 1.516 1.2619009e+01 3.7707204e+01 +755 1.518 1.2543822e+01 3.7480316e+01 +756 1.52 1.2469087e+01 3.7254949e+01 +757 1.522 1.2394801e+01 3.7031090e+01 +758 1.524 1.2320961e+01 3.6808724e+01 +759 1.526 1.2247565e+01 3.6587840e+01 +760 1.528 1.2174609e+01 3.6368423e+01 +761 1.53 1.2102090e+01 3.6150461e+01 +762 1.532 1.2030006e+01 3.5933941e+01 +763 1.534 1.1958353e+01 3.5718851e+01 +764 1.536 1.1887130e+01 3.5505179e+01 +765 1.538 1.1816332e+01 3.5292911e+01 +766 1.54 1.1745957e+01 3.5082037e+01 +767 1.542 1.1676003e+01 3.4872544e+01 +768 1.544 1.1606466e+01 3.4664421e+01 +769 1.546 1.1537344e+01 3.4457655e+01 +770 1.548 1.1468634e+01 3.4252236e+01 +771 1.55 1.1400334e+01 3.4048153e+01 +772 1.552 1.1332441e+01 3.3845394e+01 +773 1.554 1.1264952e+01 3.3643948e+01 +774 1.556 1.1197864e+01 3.3443804e+01 +775 1.558 1.1131176e+01 3.3244952e+01 +776 1.56 1.1064884e+01 3.3047381e+01 +777 1.562 1.0998985e+01 3.2851080e+01 +778 1.564 1.0933479e+01 3.2656040e+01 +779 1.566 1.0868360e+01 3.2462250e+01 +780 1.568 1.0803629e+01 3.2269699e+01 +781 1.57 1.0739281e+01 3.2078379e+01 +782 1.572 1.0675314e+01 3.1888279e+01 +783 1.574 1.0611727e+01 3.1699389e+01 +784 1.576 1.0548516e+01 3.1511700e+01 +785 1.578 1.0485679e+01 3.1325203e+01 +786 1.58 1.0423214e+01 3.1139887e+01 +787 1.582 1.0361119e+01 3.0955744e+01 +788 1.584 1.0299391e+01 3.0772764e+01 +789 1.586 1.0238027e+01 3.0590939e+01 +790 1.588 1.0177026e+01 3.0410260e+01 +791 1.59 1.0116385e+01 3.0230717e+01 +792 1.592 1.0056103e+01 3.0052301e+01 +793 1.594 9.9961754e+00 2.9875005e+01 +794 1.596 9.9366017e+00 2.9698820e+01 +795 1.598 9.8773794e+00 2.9523737e+01 +796 1.6 9.8185061e+00 2.9349747e+01 +797 1.602 9.7599797e+00 2.9176843e+01 +798 1.604 9.7017980e+00 2.9005017e+01 +799 1.606 9.6439589e+00 2.8834259e+01 +800 1.608 9.5864602e+00 2.8664563e+01 +801 1.61 9.5292999e+00 2.8495920e+01 +802 1.612 9.4724759e+00 2.8328323e+01 +803 1.614 9.4159859e+00 2.8161763e+01 +804 1.616 9.3598281e+00 2.7996233e+01 +805 1.618 9.3040003e+00 2.7831726e+01 +806 1.62 9.2485005e+00 2.7668233e+01 +807 1.622 9.1933267e+00 2.7505748e+01 +808 1.624 9.1384769e+00 2.7344263e+01 +809 1.626 9.0839490e+00 2.7183771e+01 +810 1.628 9.0297411e+00 2.7024264e+01 +811 1.63 8.9758513e+00 2.6865736e+01 +812 1.632 8.9222775e+00 2.6708180e+01 +813 1.634 8.8690179e+00 2.6551588e+01 +814 1.636 8.8160706e+00 2.6395953e+01 +815 1.638 8.7634335e+00 2.6241269e+01 +816 1.64 8.7111048e+00 2.6087529e+01 +817 1.642 8.6590827e+00 2.5934726e+01 +818 1.644 8.6073653e+00 2.5782854e+01 +819 1.646 8.5559507e+00 2.5631905e+01 +820 1.648 8.5048371e+00 2.5481874e+01 +821 1.65 8.4540226e+00 2.5332754e+01 +822 1.652 8.4035055e+00 2.5184539e+01 +823 1.654 8.3532839e+00 2.5037222e+01 +824 1.656 8.3033560e+00 2.4890797e+01 +825 1.658 8.2537201e+00 2.4745258e+01 +826 1.66 8.2043744e+00 2.4600598e+01 +827 1.662 8.1553171e+00 2.4456812e+01 +828 1.664 8.1065465e+00 2.4313893e+01 +829 1.666 8.0580610e+00 2.4171836e+01 +830 1.668 8.0098586e+00 2.4030635e+01 +831 1.67 7.9619379e+00 2.3890283e+01 +832 1.672 7.9142969e+00 2.3750775e+01 +833 1.674 7.8669342e+00 2.3612106e+01 +834 1.676 7.8198480e+00 2.3474269e+01 +835 1.678 7.7730366e+00 2.3337259e+01 +836 1.68 7.7264984e+00 2.3201070e+01 +837 1.682 7.6802317e+00 2.3065696e+01 +838 1.684 7.6342350e+00 2.2931133e+01 +839 1.686 7.5885067e+00 2.2797375e+01 +840 1.688 7.5430450e+00 2.2664416e+01 +841 1.69 7.4978485e+00 2.2532251e+01 +842 1.692 7.4529155e+00 2.2400875e+01 +843 1.694 7.4082445e+00 2.2270282e+01 +844 1.696 7.3638338e+00 2.2140467e+01 +845 1.698 7.3196821e+00 2.2011425e+01 +846 1.7 7.2757876e+00 2.1883151e+01 +847 1.702 7.2321490e+00 2.1755640e+01 +848 1.704 7.1887646e+00 2.1628887e+01 +849 1.706 7.1456329e+00 2.1502887e+01 +850 1.708 7.1027525e+00 2.1377634e+01 +851 1.71 7.0601219e+00 2.1253124e+01 +852 1.712 7.0177395e+00 2.1129353e+01 +853 1.714 6.9756040e+00 2.1006314e+01 +854 1.716 6.9337138e+00 2.0884004e+01 +855 1.718 6.8920675e+00 2.0762418e+01 +856 1.72 6.8506636e+00 2.0641551e+01 +857 1.722 6.8095008e+00 2.0521398e+01 +858 1.724 6.7685776e+00 2.0401955e+01 +859 1.726 6.7278925e+00 2.0283217e+01 +860 1.728 6.6874442e+00 2.0165180e+01 +861 1.73 6.6472313e+00 2.0047838e+01 +862 1.732 6.6072524e+00 1.9931188e+01 +863 1.734 6.5675061e+00 1.9815226e+01 +864 1.736 6.5279911e+00 1.9699946e+01 +865 1.738 6.4887059e+00 1.9585344e+01 +866 1.74 6.4496492e+00 1.9471417e+01 +867 1.742 6.4108198e+00 1.9358159e+01 +868 1.744 6.3722162e+00 1.9245567e+01 +869 1.746 6.3338371e+00 1.9133635e+01 +870 1.748 6.2956812e+00 1.9022361e+01 +871 1.75 6.2577472e+00 1.8911740e+01 +872 1.752 6.2200338e+00 1.8801768e+01 +873 1.754 6.1825397e+00 1.8692440e+01 +874 1.756 6.1452636e+00 1.8583752e+01 +875 1.758 6.1082042e+00 1.8475702e+01 +876 1.76 6.0713604e+00 1.8368283e+01 +877 1.762 6.0347307e+00 1.8261494e+01 +878 1.764 5.9983140e+00 1.8155329e+01 +879 1.766 5.9621090e+00 1.8049784e+01 +880 1.768 5.9261144e+00 1.7944857e+01 +881 1.77 5.8903291e+00 1.7840542e+01 +882 1.772 5.8547519e+00 1.7736836e+01 +883 1.774 5.8193814e+00 1.7633736e+01 +884 1.776 5.7842165e+00 1.7531237e+01 +885 1.778 5.7492560e+00 1.7429336e+01 +886 1.78 5.7144988e+00 1.7328030e+01 +887 1.782 5.6799435e+00 1.7227313e+01 +888 1.784 5.6455891e+00 1.7127184e+01 +889 1.786 5.6114344e+00 1.7027637e+01 +890 1.788 5.5774782e+00 1.6928670e+01 +891 1.79 5.5437193e+00 1.6830279e+01 +892 1.792 5.5101567e+00 1.6732461e+01 +893 1.794 5.4767891e+00 1.6635211e+01 +894 1.796 5.4436155e+00 1.6538527e+01 +895 1.798 5.4106346e+00 1.6442404e+01 +896 1.8 5.3778455e+00 1.6346840e+01 +897 1.802 5.3452469e+00 1.6251831e+01 +898 1.804 5.3128378e+00 1.6157374e+01 +899 1.806 5.2806170e+00 1.6063465e+01 +900 1.808 5.2485836e+00 1.5970101e+01 +901 1.81 5.2167363e+00 1.5877279e+01 +902 1.812 5.1850741e+00 1.5784994e+01 +903 1.814 5.1535959e+00 1.5693245e+01 +904 1.816 5.1223008e+00 1.5602028e+01 +905 1.818 5.0911875e+00 1.5511339e+01 +906 1.82 5.0602550e+00 1.5421175e+01 +907 1.822 5.0295024e+00 1.5331534e+01 +908 1.824 4.9989286e+00 1.5242411e+01 +909 1.826 4.9685324e+00 1.5153805e+01 +910 1.828 4.9383130e+00 1.5065711e+01 +911 1.83 4.9082693e+00 1.4978126e+01 +912 1.832 4.8784002e+00 1.4891049e+01 +913 1.834 4.8487047e+00 1.4804474e+01 +914 1.836 4.8191819e+00 1.4718400e+01 +915 1.838 4.7898308e+00 1.4632824e+01 +916 1.84 4.7606503e+00 1.4547742e+01 +917 1.842 4.7316395e+00 1.4463151e+01 +918 1.844 4.7027974e+00 1.4379049e+01 +919 1.846 4.6741230e+00 1.4295433e+01 +920 1.848 4.6456153e+00 1.4212299e+01 +921 1.85 4.6172735e+00 1.4129645e+01 +922 1.852 4.5890964e+00 1.4047468e+01 +923 1.854 4.5610833e+00 1.3965765e+01 +924 1.856 4.5332330e+00 1.3884534e+01 +925 1.858 4.5055448e+00 1.3803770e+01 +926 1.86 4.4780177e+00 1.3723473e+01 +927 1.862 4.4506506e+00 1.3643638e+01 +928 1.864 4.4234428e+00 1.3564263e+01 +929 1.866 4.3963933e+00 1.3485346e+01 +930 1.868 4.3695011e+00 1.3406883e+01 +931 1.87 4.3427654e+00 1.3328872e+01 +932 1.872 4.3161853e+00 1.3251310e+01 +933 1.874 4.2897599e+00 1.3174195e+01 +934 1.876 4.2634882e+00 1.3097524e+01 +935 1.878 4.2373695e+00 1.3021294e+01 +936 1.88 4.2114028e+00 1.2945503e+01 +937 1.882 4.1855872e+00 1.2870148e+01 +938 1.884 4.1599219e+00 1.2795227e+01 +939 1.886 4.1344060e+00 1.2720736e+01 +940 1.888 4.1090387e+00 1.2646674e+01 +941 1.89 4.0838190e+00 1.2573038e+01 +942 1.892 4.0587462e+00 1.2499825e+01 +943 1.894 4.0338194e+00 1.2427033e+01 +944 1.896 4.0090378e+00 1.2354659e+01 +945 1.898 3.9844005e+00 1.2282702e+01 +946 1.9 3.9599067e+00 1.2211157e+01 +947 1.902 3.9355556e+00 1.2140024e+01 +948 1.904 3.9113464e+00 1.2069299e+01 +949 1.906 3.8872782e+00 1.1998981e+01 +950 1.908 3.8633502e+00 1.1929067e+01 +951 1.91 3.8395616e+00 1.1859553e+01 +952 1.912 3.8159117e+00 1.1790440e+01 +953 1.914 3.7923996e+00 1.1721722e+01 +954 1.916 3.7690245e+00 1.1653400e+01 +955 1.918 3.7457857e+00 1.1585469e+01 +956 1.92 3.7226824e+00 1.1517928e+01 +957 1.922 3.6997138e+00 1.1450775e+01 +958 1.924 3.6768790e+00 1.1384007e+01 +959 1.926 3.6541775e+00 1.1317622e+01 +960 1.928 3.6316083e+00 1.1251618e+01 +961 1.93 3.6091708e+00 1.1185993e+01 +962 1.932 3.5868641e+00 1.1120744e+01 +963 1.934 3.5646875e+00 1.1055869e+01 +964 1.936 3.5426404e+00 1.0991366e+01 +965 1.938 3.5207218e+00 1.0927233e+01 +966 1.94 3.4989312e+00 1.0863468e+01 +967 1.942 3.4772677e+00 1.0800068e+01 +968 1.944 3.4557307e+00 1.0737031e+01 +969 1.946 3.4343193e+00 1.0674356e+01 +970 1.948 3.4130330e+00 1.0612040e+01 +971 1.95 3.3918709e+00 1.0550081e+01 +972 1.952 3.3708324e+00 1.0488478e+01 +973 1.954 3.3499168e+00 1.0427227e+01 +974 1.956 3.3291233e+00 1.0366327e+01 +975 1.958 3.3084513e+00 1.0305776e+01 +976 1.96 3.2879000e+00 1.0245572e+01 +977 1.962 3.2674687e+00 1.0185713e+01 +978 1.964 3.2471569e+00 1.0126196e+01 +979 1.966 3.2269637e+00 1.0067021e+01 +980 1.968 3.2068886e+00 1.0008184e+01 +981 1.97 3.1869308e+00 9.9496842e+00 +982 1.972 3.1670896e+00 9.8915194e+00 +983 1.974 3.1473645e+00 9.8336877e+00 +984 1.976 3.1277546e+00 9.7761872e+00 +985 1.978 3.1082595e+00 9.7190158e+00 +986 1.98 3.0888784e+00 9.6621717e+00 +987 1.982 3.0696106e+00 9.6056531e+00 +988 1.984 3.0504555e+00 9.5494580e+00 +989 1.986 3.0314125e+00 9.4935846e+00 +990 1.988 3.0124810e+00 9.4380309e+00 +991 1.99 2.9936602e+00 9.3827953e+00 +992 1.992 2.9749496e+00 9.3278758e+00 +993 1.994 2.9563485e+00 9.2732706e+00 +994 1.996 2.9378563e+00 9.2189779e+00 +995 1.998 2.9194724e+00 9.1649959e+00 +996 2.0 2.9011961e+00 9.1113228e+00 +997 2.002 2.8830269e+00 9.0579568e+00 +998 2.004 2.8649641e+00 9.0048962e+00 +999 2.006 2.8470071e+00 8.9521392e+00 +1000 2.008 2.8291553e+00 8.8996841e+00 +1001 2.01 2.8114082e+00 8.8475291e+00 +1002 2.012 2.7937650e+00 8.7956725e+00 +1003 2.014 2.7762253e+00 8.7441126e+00 +1004 2.016 2.7587884e+00 8.6928477e+00 +1005 2.018 2.7414537e+00 8.6418761e+00 +1006 2.02 2.7242207e+00 8.5911961e+00 +1007 2.022 2.7070887e+00 8.5408060e+00 +1008 2.024 2.6900572e+00 8.4907041e+00 +1009 2.026 2.6731257e+00 8.4408889e+00 +1010 2.028 2.6562935e+00 8.3913586e+00 +1011 2.03 2.6395601e+00 8.3421117e+00 +1012 2.032 2.6229249e+00 8.2931465e+00 +1013 2.034 2.6063873e+00 8.2444614e+00 +1014 2.036 2.5899468e+00 8.1960548e+00 +1015 2.038 2.5736029e+00 8.1479250e+00 +1016 2.04 2.5573550e+00 8.1000706e+00 +1017 2.042 2.5412024e+00 8.0524899e+00 +1018 2.044 2.5251448e+00 8.0051813e+00 +1019 2.046 2.5091815e+00 7.9581434e+00 +1020 2.048 2.4933121e+00 7.9113745e+00 +1021 2.05 2.4775359e+00 7.8648731e+00 +1022 2.052 2.4618524e+00 7.8186378e+00 +1023 2.054 2.4462611e+00 7.7726668e+00 +1024 2.056 2.4307615e+00 7.7269589e+00 +1025 2.058 2.4153531e+00 7.6815124e+00 +1026 2.06 2.4000353e+00 7.6363258e+00 +1027 2.062 2.3848076e+00 7.5913977e+00 +1028 2.064 2.3696696e+00 7.5467266e+00 +1029 2.066 2.3546206e+00 7.5023111e+00 +1030 2.068 2.3396601e+00 7.4581496e+00 +1031 2.07 2.3247878e+00 7.4142407e+00 +1032 2.072 2.3100030e+00 7.3705829e+00 +1033 2.074 2.2953053e+00 7.3271750e+00 +1034 2.076 2.2806942e+00 7.2840153e+00 +1035 2.078 2.2661691e+00 7.2411025e+00 +1036 2.08 2.2517296e+00 7.1984352e+00 +1037 2.082 2.2373752e+00 7.1560120e+00 +1038 2.084 2.2231054e+00 7.1138315e+00 +1039 2.086 2.2089197e+00 7.0718923e+00 +1040 2.088 2.1948176e+00 7.0301931e+00 +1041 2.09 2.1807988e+00 6.9887324e+00 +1042 2.092 2.1668626e+00 6.9475089e+00 +1043 2.094 2.1530086e+00 6.9065213e+00 +1044 2.096 2.1392363e+00 6.8657681e+00 +1045 2.098 2.1255453e+00 6.8252482e+00 +1046 2.1 2.1119352e+00 6.7849601e+00 +1047 2.102 2.0984053e+00 6.7449026e+00 +1048 2.104 2.0849554e+00 6.7050742e+00 +1049 2.106 2.0715849e+00 6.6654738e+00 +1050 2.108 2.0582934e+00 6.6260999e+00 +1051 2.11 2.0450803e+00 6.5869514e+00 +1052 2.112 2.0319454e+00 6.5480270e+00 +1053 2.114 2.0188881e+00 6.5093253e+00 +1054 2.116 2.0059080e+00 6.4708451e+00 +1055 2.118 1.9930046e+00 6.4325851e+00 +1056 2.12 1.9801775e+00 6.3945441e+00 +1057 2.122 1.9674262e+00 6.3567209e+00 +1058 2.124 1.9547504e+00 6.3191141e+00 +1059 2.126 1.9421496e+00 6.2817227e+00 +1060 2.128 1.9296234e+00 6.2445452e+00 +1061 2.13 1.9171713e+00 6.2075806e+00 +1062 2.132 1.9047929e+00 6.1708277e+00 +1063 2.134 1.8924879e+00 6.1342851e+00 +1064 2.136 1.8802557e+00 6.0979518e+00 +1065 2.138 1.8680959e+00 6.0618265e+00 +1066 2.14 1.8560082e+00 6.0259080e+00 +1067 2.142 1.8439921e+00 5.9901952e+00 +1068 2.144 1.8320473e+00 5.9546870e+00 +1069 2.146 1.8201733e+00 5.9193820e+00 +1070 2.148 1.8083696e+00 5.8842793e+00 +1071 2.15 1.7966360e+00 5.8493776e+00 +1072 2.152 1.7849720e+00 5.8146758e+00 +1073 2.154 1.7733772e+00 5.7801728e+00 +1074 2.156 1.7618512e+00 5.7458674e+00 +1075 2.158 1.7503936e+00 5.7117585e+00 +1076 2.16 1.7390040e+00 5.6778450e+00 +1077 2.162 1.7276821e+00 5.6441258e+00 +1078 2.164 1.7164274e+00 5.6105999e+00 +1079 2.166 1.7052395e+00 5.5772659e+00 +1080 2.168 1.6941182e+00 5.5441230e+00 +1081 2.17 1.6830629e+00 5.5111701e+00 +1082 2.172 1.6720734e+00 5.4784059e+00 +1083 2.174 1.6611492e+00 5.4458295e+00 +1084 2.176 1.6502899e+00 5.4134399e+00 +1085 2.178 1.6394953e+00 5.3812359e+00 +1086 2.18 1.6287649e+00 5.3492164e+00 +1087 2.182 1.6180983e+00 5.3173805e+00 +1088 2.184 1.6074952e+00 5.2857272e+00 +1089 2.186 1.5969553e+00 5.2542553e+00 +1090 2.188 1.5864781e+00 5.2229638e+00 +1091 2.19 1.5760633e+00 5.1918517e+00 +1092 2.192 1.5657106e+00 5.1609181e+00 +1093 2.194 1.5554195e+00 5.1301618e+00 +1094 2.196 1.5451898e+00 5.0995820e+00 +1095 2.198 1.5350211e+00 5.0691775e+00 +1096 2.2 1.5249130e+00 5.0389474e+00 +1097 2.202 1.5148652e+00 5.0088907e+00 +1098 2.204 1.5048773e+00 4.9790064e+00 +1099 2.206 1.4949490e+00 4.9492936e+00 +1100 2.208 1.4850800e+00 4.9197512e+00 +1101 2.21 1.4752699e+00 4.8903784e+00 +1102 2.212 1.4655184e+00 4.8611741e+00 +1103 2.214 1.4558251e+00 4.8321373e+00 +1104 2.216 1.4461897e+00 4.8032673e+00 +1105 2.218 1.4366119e+00 4.7745629e+00 +1106 2.22 1.4270914e+00 4.7460233e+00 +1107 2.222 1.4176277e+00 4.7176475e+00 +1108 2.224 1.4082207e+00 4.6894346e+00 +1109 2.226 1.3988699e+00 4.6613836e+00 +1110 2.228 1.3895750e+00 4.6334938e+00 +1111 2.23 1.3803358e+00 4.6057641e+00 +1112 2.232 1.3711518e+00 4.5781936e+00 +1113 2.234 1.3620229e+00 4.5507814e+00 +1114 2.236 1.3529486e+00 4.5235267e+00 +1115 2.238 1.3439287e+00 4.4964285e+00 +1116 2.24 1.3349628e+00 4.4694860e+00 +1117 2.242 1.3260506e+00 4.4426983e+00 +1118 2.244 1.3171919e+00 4.4160645e+00 +1119 2.246 1.3083863e+00 4.3895837e+00 +1120 2.248 1.2996335e+00 4.3632551e+00 +1121 2.25 1.2909332e+00 4.3370778e+00 +1122 2.252 1.2822851e+00 4.3110510e+00 +1123 2.254 1.2736889e+00 4.2851737e+00 +1124 2.256 1.2651443e+00 4.2594452e+00 +1125 2.258 1.2566510e+00 4.2338646e+00 +1126 2.26 1.2482087e+00 4.2084310e+00 +1127 2.262 1.2398172e+00 4.1831437e+00 +1128 2.264 1.2314760e+00 4.1580018e+00 +1129 2.266 1.2231851e+00 4.1330045e+00 +1130 2.268 1.2149439e+00 4.1081510e+00 +1131 2.27 1.2067524e+00 4.0834404e+00 +1132 2.272 1.1986101e+00 4.0588720e+00 +1133 2.274 1.1905168e+00 4.0344449e+00 +1134 2.276 1.1824722e+00 4.0101584e+00 +1135 2.278 1.1744760e+00 3.9860116e+00 +1136 2.28 1.1665281e+00 3.9620037e+00 +1137 2.282 1.1586279e+00 3.9381341e+00 +1138 2.284 1.1507754e+00 3.9144018e+00 +1139 2.286 1.1429702e+00 3.8908061e+00 +1140 2.288 1.1352121e+00 3.8673463e+00 +1141 2.29 1.1275008e+00 3.8440215e+00 +1142 2.292 1.1198359e+00 3.8208310e+00 +1143 2.294 1.1122173e+00 3.7977741e+00 +1144 2.296 1.1046447e+00 3.7748499e+00 +1145 2.298 1.0971179e+00 3.7520578e+00 +1146 2.3 1.0896364e+00 3.7293970e+00 +1147 2.302 1.0822002e+00 3.7068668e+00 +1148 2.304 1.0748089e+00 3.6844663e+00 +1149 2.306 1.0674622e+00 3.6621949e+00 +1150 2.308 1.0601600e+00 3.6400519e+00 +1151 2.31 1.0529019e+00 3.6180365e+00 +1152 2.312 1.0456878e+00 3.5961479e+00 +1153 2.314 1.0385173e+00 3.5743856e+00 +1154 2.316 1.0313902e+00 3.5527487e+00 +1155 2.318 1.0243062e+00 3.5312365e+00 +1156 2.32 1.0172651e+00 3.5098484e+00 +1157 2.322 1.0102667e+00 3.4885837e+00 +1158 2.324 1.0033107e+00 3.4674416e+00 +1159 2.326 9.9639687e-01 3.4464214e+00 +1160 2.328 9.8952494e-01 3.4255226e+00 +1161 2.33 9.8269470e-01 3.4047442e+00 +1162 2.332 9.7590588e-01 3.3840858e+00 +1163 2.334 9.6915827e-01 3.3635466e+00 +1164 2.336 9.6245162e-01 3.3431260e+00 +1165 2.338 9.5578569e-01 3.3228232e+00 +1166 2.34 9.4916025e-01 3.3026376e+00 +1167 2.342 9.4257506e-01 3.2825685e+00 +1168 2.344 9.3602990e-01 3.2626154e+00 +1169 2.346 9.2952452e-01 3.2427774e+00 +1170 2.348 9.2305871e-01 3.2230541e+00 +1171 2.35 9.1663223e-01 3.2034446e+00 +1172 2.352 9.1024486e-01 3.1839484e+00 +1173 2.354 9.0389636e-01 3.1645649e+00 +1174 2.356 8.9758652e-01 3.1452934e+00 +1175 2.358 8.9131511e-01 3.1261332e+00 +1176 2.36 8.8508192e-01 3.1070838e+00 +1177 2.362 8.7888671e-01 3.0881445e+00 +1178 2.364 8.7272927e-01 3.0693147e+00 +1179 2.366 8.6660938e-01 3.0505937e+00 +1180 2.368 8.6052682e-01 3.0319810e+00 +1181 2.37 8.5448138e-01 3.0134759e+00 +1182 2.372 8.4847284e-01 2.9950779e+00 +1183 2.374 8.4250100e-01 2.9767862e+00 +1184 2.376 8.3656563e-01 2.9586005e+00 +1185 2.378 8.3066652e-01 2.9405199e+00 +1186 2.38 8.2480348e-01 2.9225439e+00 +1187 2.382 8.1897628e-01 2.9046720e+00 +1188 2.384 8.1318472e-01 2.8869035e+00 +1189 2.386 8.0742860e-01 2.8692379e+00 +1190 2.388 8.0170770e-01 2.8516746e+00 +1191 2.39 7.9602183e-01 2.8342129e+00 +1192 2.392 7.9037078e-01 2.8168524e+00 +1193 2.394 7.8475435e-01 2.7995925e+00 +1194 2.396 7.7917235e-01 2.7824325e+00 +1195 2.398 7.7362456e-01 2.7653719e+00 +1196 2.4 7.6811079e-01 2.7484102e+00 +1197 2.402 7.6263085e-01 2.7315467e+00 +1198 2.404 7.5718454e-01 2.7147811e+00 +1199 2.406 7.5177166e-01 2.6981125e+00 +1200 2.408 7.4639203e-01 2.6815407e+00 +1201 2.41 7.4104544e-01 2.6650649e+00 +1202 2.412 7.3573170e-01 2.6486846e+00 +1203 2.414 7.3045063e-01 2.6323993e+00 +1204 2.416 7.2520204e-01 2.6162085e+00 +1205 2.418 7.1998574e-01 2.6001117e+00 +1206 2.42 7.1480153e-01 2.5841082e+00 +1207 2.422 7.0964924e-01 2.5681976e+00 +1208 2.424 7.0452868e-01 2.5523793e+00 +1209 2.426 6.9943966e-01 2.5366529e+00 +1210 2.428 6.9438201e-01 2.5210177e+00 +1211 2.43 6.8935553e-01 2.5054733e+00 +1212 2.432 6.8436006e-01 2.4900192e+00 +1213 2.434 6.7939540e-01 2.4746548e+00 +1214 2.436 6.7446138e-01 2.4593797e+00 +1215 2.438 6.6955782e-01 2.4441933e+00 +1216 2.44 6.6468454e-01 2.4290952e+00 +1217 2.442 6.5984138e-01 2.4140847e+00 +1218 2.444 6.5502815e-01 2.3991616e+00 +1219 2.446 6.5024468e-01 2.3843251e+00 +1220 2.448 6.4549079e-01 2.3695750e+00 +1221 2.45 6.4076632e-01 2.3549106e+00 +1222 2.452 6.3607109e-01 2.3403314e+00 +1223 2.454 6.3140494e-01 2.3258371e+00 +1224 2.456 6.2676769e-01 2.3114271e+00 +1225 2.458 6.2215917e-01 2.2971009e+00 +1226 2.46 6.1757923e-01 2.2828580e+00 +1227 2.462 6.1302768e-01 2.2686981e+00 +1228 2.464 6.0850438e-01 2.2546206e+00 +1229 2.466 6.0400915e-01 2.2406250e+00 +1230 2.468 5.9954183e-01 2.2267109e+00 +1231 2.47 5.9510225e-01 2.2128779e+00 +1232 2.472 5.9069026e-01 2.1991254e+00 +1233 2.474 5.8630570e-01 2.1854530e+00 +1234 2.476 5.8194840e-01 2.1718603e+00 +1235 2.478 5.7761820e-01 2.1583467e+00 +1236 2.48 5.7331496e-01 2.1449119e+00 +1237 2.482 5.6903850e-01 2.1315555e+00 +1238 2.484 5.6478868e-01 2.1182769e+00 +1239 2.486 5.6056534e-01 2.1050757e+00 +1240 2.488 5.5636833e-01 2.0919515e+00 +1241 2.49 5.5219749e-01 2.0789038e+00 +1242 2.492 5.4805266e-01 2.0659323e+00 +1243 2.494 5.4393371e-01 2.0530364e+00 +1244 2.496 5.3984047e-01 2.0402158e+00 +1245 2.498 5.3577279e-01 2.0274700e+00 +1246 2.5 5.3173054e-01 2.0147986e+00 +1247 2.502 5.2771355e-01 2.0022012e+00 +1248 2.504 5.2372168e-01 1.9896773e+00 +1249 2.506 5.1975479e-01 1.9772266e+00 +1250 2.508 5.1581273e-01 1.9648486e+00 +1251 2.51 5.1189535e-01 1.9525429e+00 +1252 2.512 5.0800251e-01 1.9403091e+00 +1253 2.514 5.0413406e-01 1.9281468e+00 +1254 2.516 5.0028987e-01 1.9160556e+00 +1255 2.518 4.9646980e-01 1.9040351e+00 +1256 2.52 4.9267369e-01 1.8920848e+00 +1257 2.522 4.8890141e-01 1.8802044e+00 +1258 2.524 4.8515282e-01 1.8683936e+00 +1259 2.526 4.8142779e-01 1.8566518e+00 +1260 2.528 4.7772617e-01 1.8449787e+00 +1261 2.53 4.7404783e-01 1.8333739e+00 +1262 2.532 4.7039263e-01 1.8218371e+00 +1263 2.534 4.6676044e-01 1.8103677e+00 +1264 2.536 4.6315111e-01 1.7989656e+00 +1265 2.538 4.5956453e-01 1.7876302e+00 +1266 2.54 4.5600055e-01 1.7763612e+00 +1267 2.542 4.5245904e-01 1.7651582e+00 +1268 2.544 4.4893987e-01 1.7540208e+00 +1269 2.546 4.4544291e-01 1.7429487e+00 +1270 2.548 4.4196803e-01 1.7319415e+00 +1271 2.55 4.3851510e-01 1.7209988e+00 +1272 2.552 4.3508400e-01 1.7101203e+00 +1273 2.554 4.3167458e-01 1.6993056e+00 +1274 2.556 4.2828673e-01 1.6885543e+00 +1275 2.558 4.2492032e-01 1.6778661e+00 +1276 2.56 4.2157522e-01 1.6672406e+00 +1277 2.562 4.1825132e-01 1.6566775e+00 +1278 2.564 4.1494847e-01 1.6461763e+00 +1279 2.566 4.1166657e-01 1.6357368e+00 +1280 2.568 4.0840549e-01 1.6253587e+00 +1281 2.57 4.0516510e-01 1.6150414e+00 +1282 2.572 4.0194528e-01 1.6047848e+00 +1283 2.574 3.9874592e-01 1.5945884e+00 +1284 2.576 3.9556689e-01 1.5844519e+00 +1285 2.578 3.9240807e-01 1.5743750e+00 +1286 2.58 3.8926935e-01 1.5643574e+00 +1287 2.582 3.8615060e-01 1.5543986e+00 +1288 2.584 3.8305171e-01 1.5444985e+00 +1289 2.586 3.7997257e-01 1.5346565e+00 +1290 2.588 3.7691305e-01 1.5248725e+00 +1291 2.59 3.7387304e-01 1.5151460e+00 +1292 2.592 3.7085243e-01 1.5054767e+00 +1293 2.594 3.6785109e-01 1.4958644e+00 +1294 2.596 3.6486893e-01 1.4863087e+00 +1295 2.598 3.6190582e-01 1.4768092e+00 +1296 2.6 3.5896166e-01 1.4673657e+00 +1297 2.602 3.5603632e-01 1.4579778e+00 +1298 2.604 3.5312971e-01 1.4486453e+00 +1299 2.606 3.5024170e-01 1.4393677e+00 +1300 2.608 3.4737220e-01 1.4301448e+00 +1301 2.61 3.4452109e-01 1.4209763e+00 +1302 2.612 3.4168826e-01 1.4118619e+00 +1303 2.614 3.3887360e-01 1.4028012e+00 +1304 2.616 3.3607702e-01 1.3937940e+00 +1305 2.618 3.3329839e-01 1.3848400e+00 +1306 2.62 3.3053762e-01 1.3759387e+00 +1307 2.622 3.2779460e-01 1.3670900e+00 +1308 2.624 3.2506923e-01 1.3582936e+00 +1309 2.626 3.2236139e-01 1.3495491e+00 +1310 2.628 3.1967100e-01 1.3408563e+00 +1311 2.63 3.1699794e-01 1.3322148e+00 +1312 2.632 3.1434210e-01 1.3236244e+00 +1313 2.634 3.1170340e-01 1.3150847e+00 +1314 2.636 3.0908173e-01 1.3065955e+00 +1315 2.638 3.0647699e-01 1.2981566e+00 +1316 2.64 3.0388907e-01 1.2897675e+00 +1317 2.642 3.0131788e-01 1.2814281e+00 +1318 2.644 2.9876333e-01 1.2731380e+00 +1319 2.646 2.9622530e-01 1.2648969e+00 +1320 2.648 2.9370371e-01 1.2567047e+00 +1321 2.65 2.9119845e-01 1.2485609e+00 +1322 2.652 2.8870943e-01 1.2404654e+00 +1323 2.654 2.8623656e-01 1.2324178e+00 +1324 2.656 2.8377973e-01 1.2244179e+00 +1325 2.658 2.8133885e-01 1.2164654e+00 +1326 2.66 2.7891383e-01 1.2085600e+00 +1327 2.662 2.7650458e-01 1.2007015e+00 +1328 2.664 2.7411100e-01 1.1928896e+00 +1329 2.666 2.7173299e-01 1.1851241e+00 +1330 2.668 2.6937047e-01 1.1774046e+00 +1331 2.67 2.6702334e-01 1.1697309e+00 +1332 2.672 2.6469152e-01 1.1621027e+00 +1333 2.674 2.6237490e-01 1.1545198e+00 +1334 2.676 2.6007341e-01 1.1469820e+00 +1335 2.678 2.5778694e-01 1.1394889e+00 +1336 2.68 2.5551542e-01 1.1320403e+00 +1337 2.682 2.5325875e-01 1.1246360e+00 +1338 2.684 2.5101685e-01 1.1172757e+00 +1339 2.686 2.4878962e-01 1.1099591e+00 +1340 2.688 2.4657698e-01 1.1026861e+00 +1341 2.69 2.4437885e-01 1.0954563e+00 +1342 2.692 2.4219513e-01 1.0882694e+00 +1343 2.694 2.4002574e-01 1.0811254e+00 +1344 2.696 2.3787060e-01 1.0740239e+00 +1345 2.698 2.3572962e-01 1.0669646e+00 +1346 2.7 2.3360271e-01 1.0599474e+00 +1347 2.702 2.3148980e-01 1.0529720e+00 +1348 2.704 2.2939080e-01 1.0460381e+00 +1349 2.706 2.2730562e-01 1.0391456e+00 +1350 2.708 2.2523419e-01 1.0322941e+00 +1351 2.71 2.2317642e-01 1.0254834e+00 +1352 2.712 2.2113223e-01 1.0187134e+00 +1353 2.714 2.1910154e-01 1.0119837e+00 +1354 2.716 2.1708427e-01 1.0052942e+00 +1355 2.718 2.1508033e-01 9.9864465e-01 +1356 2.72 2.1308966e-01 9.9203475e-01 +1357 2.722 2.1111217e-01 9.8546431e-01 +1358 2.724 2.0914778e-01 9.7893310e-01 +1359 2.726 2.0719641e-01 9.7244091e-01 +1360 2.728 2.0525799e-01 9.6598750e-01 +1361 2.73 2.0333243e-01 9.5957266e-01 +1362 2.732 2.0141967e-01 9.5319616e-01 +1363 2.734 1.9951962e-01 9.4685778e-01 +1364 2.736 1.9763221e-01 9.4055731e-01 +1365 2.738 1.9575737e-01 9.3429453e-01 +1366 2.74 1.9389501e-01 9.2806923e-01 +1367 2.742 1.9204507e-01 9.2188118e-01 +1368 2.744 1.9020746e-01 9.1573018e-01 +1369 2.746 1.8838212e-01 9.0961601e-01 +1370 2.748 1.8656897e-01 9.0353846e-01 +1371 2.75 1.8476794e-01 8.9749732e-01 +1372 2.752 1.8297896e-01 8.9149239e-01 +1373 2.754 1.8120195e-01 8.8552345e-01 +1374 2.756 1.7943684e-01 8.7959030e-01 +1375 2.758 1.7768357e-01 8.7369273e-01 +1376 2.76 1.7594205e-01 8.6783055e-01 +1377 2.762 1.7421222e-01 8.6200354e-01 +1378 2.764 1.7249401e-01 8.5621150e-01 +1379 2.766 1.7078735e-01 8.5045424e-01 +1380 2.768 1.6909217e-01 8.4473155e-01 +1381 2.77 1.6740840e-01 8.3904324e-01 +1382 2.772 1.6573597e-01 8.3338911e-01 +1383 2.774 1.6407482e-01 8.2776897e-01 +1384 2.776 1.6242488e-01 8.2218261e-01 +1385 2.778 1.6078607e-01 8.1662984e-01 +1386 2.78 1.5915833e-01 8.1111048e-01 +1387 2.782 1.5754161e-01 8.0562432e-01 +1388 2.784 1.5593582e-01 8.0017118e-01 +1389 2.786 1.5434090e-01 7.9475087e-01 +1390 2.788 1.5275679e-01 7.8936321e-01 +1391 2.79 1.5118342e-01 7.8400799e-01 +1392 2.792 1.4962074e-01 7.7868504e-01 +1393 2.794 1.4806866e-01 7.7339417e-01 +1394 2.796 1.4652714e-01 7.6813520e-01 +1395 2.798 1.4499610e-01 7.6290794e-01 +1396 2.8 1.4347549e-01 7.5771221e-01 +1397 2.802 1.4196523e-01 7.5254784e-01 +1398 2.804 1.4046527e-01 7.4741463e-01 +1399 2.806 1.3897555e-01 7.4231241e-01 +1400 2.808 1.3749600e-01 7.3724100e-01 +1401 2.81 1.3602657e-01 7.3220023e-01 +1402 2.812 1.3456718e-01 7.2718992e-01 +1403 2.814 1.3311779e-01 7.2220989e-01 +1404 2.816 1.3167832e-01 7.1725997e-01 +1405 2.818 1.3024873e-01 7.1233998e-01 +1406 2.82 1.2882894e-01 7.0744976e-01 +1407 2.822 1.2741891e-01 7.0258913e-01 +1408 2.824 1.2601857e-01 6.9775792e-01 +1409 2.826 1.2462786e-01 6.9295597e-01 +1410 2.828 1.2324672e-01 6.8818310e-01 +1411 2.83 1.2187511e-01 6.8343914e-01 +1412 2.832 1.2051295e-01 6.7872394e-01 +1413 2.834 1.1916019e-01 6.7403732e-01 +1414 2.836 1.1781678e-01 6.6937911e-01 +1415 2.838 1.1648266e-01 6.6474917e-01 +1416 2.84 1.1515776e-01 6.6014732e-01 +1417 2.842 1.1384205e-01 6.5557340e-01 +1418 2.844 1.1253545e-01 6.5102725e-01 +1419 2.846 1.1123792e-01 6.4650871e-01 +1420 2.848 1.0994940e-01 6.4201762e-01 +1421 2.85 1.0866983e-01 6.3755382e-01 +1422 2.852 1.0739917e-01 6.3311716e-01 +1423 2.854 1.0613735e-01 6.2870748e-01 +1424 2.856 1.0488432e-01 6.2432462e-01 +1425 2.858 1.0364003e-01 6.1996843e-01 +1426 2.86 1.0240443e-01 6.1563875e-01 +1427 2.862 1.0117746e-01 6.1133544e-01 +1428 2.864 9.9959067e-02 6.0705834e-01 +1429 2.866 9.8749206e-02 6.0280729e-01 +1430 2.868 9.7547821e-02 5.9858215e-01 +1431 2.87 9.6354860e-02 5.9438277e-01 +1432 2.872 9.5170273e-02 5.9020900e-01 +1433 2.874 9.3994007e-02 5.8606069e-01 +1434 2.876 9.2826013e-02 5.8193769e-01 +1435 2.878 9.1666240e-02 5.7783986e-01 +1436 2.88 9.0514637e-02 5.7376706e-01 +1437 2.882 8.9371155e-02 5.6971913e-01 +1438 2.884 8.8235744e-02 5.6569594e-01 +1439 2.886 8.7108355e-02 5.6169734e-01 +1440 2.888 8.5988938e-02 5.5772319e-01 +1441 2.89 8.4877446e-02 5.5377335e-01 +1442 2.892 8.3773829e-02 5.4984767e-01 +1443 2.894 8.2678039e-02 5.4594602e-01 +1444 2.896 8.1590029e-02 5.4206826e-01 +1445 2.898 8.0509750e-02 5.3821425e-01 +1446 2.9 7.9437156e-02 5.3438386e-01 +1447 2.902 7.8372199e-02 5.3057694e-01 +1448 2.904 7.7314833e-02 5.2679336e-01 +1449 2.906 7.6265010e-02 5.2303299e-01 +1450 2.908 7.5222686e-02 5.1929568e-01 +1451 2.91 7.4187812e-02 5.1558132e-01 +1452 2.912 7.3160345e-02 5.1188976e-01 +1453 2.914 7.2140238e-02 5.0822087e-01 +1454 2.916 7.1127447e-02 5.0457452e-01 +1455 2.918 7.0121925e-02 5.0095059e-01 +1456 2.92 6.9123629e-02 4.9734893e-01 +1457 2.922 6.8132515e-02 4.9376943e-01 +1458 2.924 6.7148537e-02 4.9021195e-01 +1459 2.926 6.6171652e-02 4.8667637e-01 +1460 2.928 6.5201817e-02 4.8316255e-01 +1461 2.93 6.4238988e-02 4.7967038e-01 +1462 2.932 6.3283121e-02 4.7619973e-01 +1463 2.934 6.2334174e-02 4.7275046e-01 +1464 2.936 6.1392105e-02 4.6932247e-01 +1465 2.938 6.0456870e-02 4.6591562e-01 +1466 2.94 5.9528429e-02 4.6252979e-01 +1467 2.942 5.8606737e-02 4.5916486e-01 +1468 2.944 5.7691755e-02 4.5582071e-01 +1469 2.946 5.6783441e-02 4.5249722e-01 +1470 2.948 5.5881753e-02 4.4919427e-01 +1471 2.95 5.4986650e-02 4.4591173e-01 +1472 2.952 5.4098092e-02 4.4264950e-01 +1473 2.954 5.3216039e-02 4.3940745e-01 +1474 2.956 5.2340449e-02 4.3618546e-01 +1475 2.958 5.1471283e-02 4.3298343e-01 +1476 2.96 5.0608502e-02 4.2980122e-01 +1477 2.962 4.9752065e-02 4.2663873e-01 +1478 2.964 4.8901934e-02 4.2349585e-01 +1479 2.966 4.8058069e-02 4.2037245e-01 +1480 2.968 4.7220431e-02 4.1726843e-01 +1481 2.97 4.6388982e-02 4.1418367e-01 +1482 2.972 4.5563684e-02 4.1111807e-01 +1483 2.974 4.4744498e-02 4.0807150e-01 +1484 2.976 4.3931385e-02 4.0504386e-01 +1485 2.978 4.3124310e-02 4.0203504e-01 +1486 2.98 4.2323233e-02 3.9904492e-01 +1487 2.982 4.1528117e-02 3.9607341e-01 +1488 2.984 4.0738927e-02 3.9312039e-01 +1489 2.986 3.9955624e-02 3.9018575e-01 +1490 2.988 3.9178172e-02 3.8726939e-01 +1491 2.99 3.8406534e-02 3.8437120e-01 +1492 2.992 3.7640675e-02 3.8149107e-01 +1493 2.994 3.6880558e-02 3.7862891e-01 +1494 2.996 3.6126147e-02 3.7578459e-01 +1495 2.998 3.5377408e-02 3.7295803e-01 +1496 3.0 3.4634303e-02 3.7014911e-01 +1497 3.002 3.3896799e-02 3.6735774e-01 +1498 3.004 3.3164861e-02 3.6458381e-01 +1499 3.006 3.2438453e-02 3.6182722e-01 +1500 3.008 3.1717540e-02 3.5908787e-01 +1501 3.01 3.1002090e-02 3.5636566e-01 +1502 3.012 3.0292066e-02 3.5366048e-01 +1503 3.014 2.9587436e-02 3.5097225e-01 +1504 3.016 2.8888166e-02 3.4830085e-01 +1505 3.018 2.8194222e-02 3.4564619e-01 +1506 3.02 2.7505570e-02 3.4300818e-01 +1507 3.022 2.6822178e-02 3.4038672e-01 +1508 3.024 2.6144012e-02 3.3778170e-01 +1509 3.026 2.5471040e-02 3.3519304e-01 +1510 3.028 2.4803229e-02 3.3262063e-01 +1511 3.03 2.4140547e-02 3.3006439e-01 +1512 3.032 2.3482961e-02 3.2752422e-01 +1513 3.034 2.2830440e-02 3.2500002e-01 +1514 3.036 2.2182950e-02 3.2249170e-01 +1515 3.038 2.1540462e-02 3.1999917e-01 +1516 3.04 2.0902943e-02 3.1752234e-01 +1517 3.042 2.0270362e-02 3.1506111e-01 +1518 3.044 1.9642689e-02 3.1261539e-01 +1519 3.046 1.9019891e-02 3.1018509e-01 +1520 3.048 1.8401938e-02 3.0777013e-01 +1521 3.05 1.7788800e-02 3.0537041e-01 +1522 3.052 1.7180446e-02 3.0298584e-01 +1523 3.054 1.6576847e-02 3.0061633e-01 +1524 3.056 1.5977971e-02 2.9826180e-01 +1525 3.058 1.5383789e-02 2.9592215e-01 +1526 3.06 1.4794272e-02 2.9359731e-01 +1527 3.062 1.4209390e-02 2.9128718e-01 +1528 3.064 1.3629114e-02 2.8899168e-01 +1529 3.066 1.3053414e-02 2.8671072e-01 +1530 3.068 1.2482261e-02 2.8444421e-01 +1531 3.07 1.1915628e-02 2.8219208e-01 +1532 3.072 1.1353484e-02 2.7995423e-01 +1533 3.074 1.0795801e-02 2.7773059e-01 +1534 3.076 1.0242552e-02 2.7552106e-01 +1535 3.078 9.6937076e-03 2.7332558e-01 +1536 3.08 9.1492403e-03 2.7114404e-01 +1537 3.082 8.6091221e-03 2.6897638e-01 +1538 3.084 8.0733255e-03 2.6682251e-01 +1539 3.086 7.5418230e-03 2.6468235e-01 +1540 3.088 7.0145870e-03 2.6255582e-01 +1541 3.09 6.4915906e-03 2.6044284e-01 +1542 3.092 5.9728067e-03 2.5834333e-01 +1543 3.094 5.4582084e-03 2.5625721e-01 +1544 3.096 4.9477690e-03 2.5418440e-01 +1545 3.098 4.4414619e-03 2.5212482e-01 +1546 3.1 3.9392609e-03 2.5007840e-01 +1547 3.102 3.4411396e-03 2.4804506e-01 +1548 3.104 2.9470720e-03 2.4602472e-01 +1549 3.106 2.4570321e-03 2.4401730e-01 +1550 3.108 1.9709942e-03 2.4202273e-01 +1551 3.11 1.4889327e-03 2.4004093e-01 +1552 3.112 1.0108221e-03 2.3807183e-01 +1553 3.114 5.3663697e-04 2.3611535e-01 +1554 3.116 6.6352272e-05 2.3417142e-01 +1555 3.118 -4.0005705e-04 2.3223997e-01 +1556 3.12 -8.6261587e-04 2.3032091e-01 +1557 3.122 -1.3213489e-03 2.2841419e-01 +1558 3.124 -1.7762808e-03 2.2651971e-01 +1559 3.126 -2.2274359e-03 2.2463742e-01 +1560 3.128 -2.6748386e-03 2.2276724e-01 +1561 3.13 -3.1185129e-03 2.2090910e-01 +1562 3.132 -3.5584829e-03 2.1906293e-01 +1563 3.134 -3.9947726e-03 2.1722865e-01 +1564 3.136 -4.4274054e-03 2.1540621e-01 +1565 3.138 -4.8564052e-03 2.1359551e-01 +1566 3.14 -5.2817953e-03 2.1179651e-01 +1567 3.142 -5.7035990e-03 2.1000912e-01 +1568 3.144 -6.1218395e-03 2.0823329e-01 +1569 3.146 -6.5365398e-03 2.0646893e-01 +1570 3.148 -6.9477228e-03 2.0471599e-01 +1571 3.15 -7.3554113e-03 2.0297440e-01 +1572 3.152 -7.7596280e-03 2.0124408e-01 +1573 3.154 -8.1603952e-03 1.9952498e-01 +1574 3.156 -8.5577353e-03 1.9781702e-01 +1575 3.158 -8.9516706e-03 1.9612015e-01 +1576 3.16 -9.3422233e-03 1.9443428e-01 +1577 3.162 -9.7294151e-03 1.9275937e-01 +1578 3.164 -1.0113268e-02 1.9109534e-01 +1579 3.166 -1.0493804e-02 1.8944213e-01 +1580 3.168 -1.0871044e-02 1.8779968e-01 +1581 3.17 -1.1245010e-02 1.8616791e-01 +1582 3.172 -1.1615722e-02 1.8454678e-01 +1583 3.174 -1.1983204e-02 1.8293621e-01 +1584 3.176 -1.2347474e-02 1.8133614e-01 +1585 3.178 -1.2708555e-02 1.7974652e-01 +1586 3.18 -1.3066467e-02 1.7816727e-01 +1587 3.182 -1.3421231e-02 1.7659834e-01 +1588 3.184 -1.3772867e-02 1.7503966e-01 +1589 3.186 -1.4121397e-02 1.7349118e-01 +1590 3.188 -1.4466839e-02 1.7195284e-01 +1591 3.19 -1.4809215e-02 1.7042456e-01 +1592 3.192 -1.5148544e-02 1.6890630e-01 +1593 3.194 -1.5484847e-02 1.6739800e-01 +1594 3.196 -1.5818142e-02 1.6589959e-01 +1595 3.198 -1.6148451e-02 1.6441102e-01 +1596 3.2 -1.6475793e-02 1.6293222e-01 +1597 3.202 -1.6800187e-02 1.6146314e-01 +1598 3.204 -1.7121652e-02 1.6000373e-01 +1599 3.206 -1.7440208e-02 1.5855392e-01 +1600 3.208 -1.7755874e-02 1.5711366e-01 +1601 3.21 -1.8068669e-02 1.5568288e-01 +1602 3.212 -1.8378612e-02 1.5426154e-01 +1603 3.214 -1.8685722e-02 1.5284958e-01 +1604 3.216 -1.8990016e-02 1.5144694e-01 +1605 3.218 -1.9291515e-02 1.5005357e-01 +1606 3.22 -1.9590237e-02 1.4866940e-01 +1607 3.222 -1.9886199e-02 1.4729440e-01 +1608 3.224 -2.0179421e-02 1.4592849e-01 +1609 3.226 -2.0469919e-02 1.4457163e-01 +1610 3.228 -2.0757713e-02 1.4322376e-01 +1611 3.23 -2.1042820e-02 1.4188483e-01 +1612 3.232 -2.1325258e-02 1.4055479e-01 +1613 3.234 -2.1605045e-02 1.3923358e-01 +1614 3.236 -2.1882199e-02 1.3792115e-01 +1615 3.238 -2.2156736e-02 1.3661745e-01 +1616 3.24 -2.2428674e-02 1.3532242e-01 +1617 3.242 -2.2698031e-02 1.3403602e-01 +1618 3.244 -2.2964824e-02 1.3275818e-01 +1619 3.246 -2.3229070e-02 1.3148887e-01 +1620 3.248 -2.3490785e-02 1.3022803e-01 +1621 3.25 -2.3749987e-02 1.2897560e-01 +1622 3.252 -2.4006693e-02 1.2773155e-01 +1623 3.254 -2.4260919e-02 1.2649581e-01 +1624 3.256 -2.4512682e-02 1.2526834e-01 +1625 3.258 -2.4761998e-02 1.2404909e-01 +1626 3.26 -2.5008884e-02 1.2283801e-01 +1627 3.262 -2.5253355e-02 1.2163505e-01 +1628 3.264 -2.5495429e-02 1.2044016e-01 +1629 3.266 -2.5735121e-02 1.1925329e-01 +1630 3.268 -2.5972448e-02 1.1807440e-01 +1631 3.27 -2.6207424e-02 1.1690344e-01 +1632 3.272 -2.6440067e-02 1.1574036e-01 +1633 3.274 -2.6670391e-02 1.1458511e-01 +1634 3.276 -2.6898412e-02 1.1343764e-01 +1635 3.278 -2.7124147e-02 1.1229792e-01 +1636 3.28 -2.7347609e-02 1.1116588e-01 +1637 3.282 -2.7568815e-02 1.1004149e-01 +1638 3.284 -2.7787780e-02 1.0892470e-01 +1639 3.286 -2.8004519e-02 1.0781547e-01 +1640 3.288 -2.8219047e-02 1.0671374e-01 +1641 3.29 -2.8431379e-02 1.0561948e-01 +1642 3.292 -2.8641530e-02 1.0453264e-01 +1643 3.294 -2.8849514e-02 1.0345317e-01 +1644 3.296 -2.9055347e-02 1.0238103e-01 +1645 3.298 -2.9259043e-02 1.0131617e-01 +1646 3.3 -2.9460617e-02 1.0025856e-01 +1647 3.302 -2.9660082e-02 9.9208143e-02 +1648 3.304 -2.9857454e-02 9.8164882e-02 +1649 3.306 -3.0052747e-02 9.7128731e-02 +1650 3.308 -3.0245974e-02 9.6099649e-02 +1651 3.31 -3.0437150e-02 9.5077593e-02 +1652 3.312 -3.0626289e-02 9.4062519e-02 +1653 3.314 -3.0813405e-02 9.3054387e-02 +1654 3.316 -3.0998511e-02 9.2053153e-02 +1655 3.318 -3.1181622e-02 9.1058778e-02 +1656 3.32 -3.1362751e-02 9.0071218e-02 +1657 3.322 -3.1541911e-02 8.9090432e-02 +1658 3.324 -3.1719117e-02 8.8116381e-02 +1659 3.326 -3.1894381e-02 8.7149022e-02 +1660 3.328 -3.2067717e-02 8.6188316e-02 +1661 3.33 -3.2239139e-02 8.5234222e-02 +1662 3.332 -3.2408659e-02 8.4286701e-02 +1663 3.334 -3.2576290e-02 8.3345711e-02 +1664 3.336 -3.2742046e-02 8.2411215e-02 +1665 3.338 -3.2905939e-02 8.1483172e-02 +1666 3.34 -3.3067983e-02 8.0561543e-02 +1667 3.342 -3.3228190e-02 7.9646289e-02 +1668 3.344 -3.3386572e-02 7.8737372e-02 +1669 3.346 -3.3543143e-02 7.7834754e-02 +1670 3.348 -3.3697915e-02 7.6938396e-02 +1671 3.35 -3.3850901e-02 7.6048259e-02 +1672 3.352 -3.4002113e-02 7.5164307e-02 +1673 3.354 -3.4151562e-02 7.4286501e-02 +1674 3.356 -3.4299263e-02 7.3414805e-02 +1675 3.358 -3.4445226e-02 7.2549181e-02 +1676 3.36 -3.4589463e-02 7.1689592e-02 +1677 3.362 -3.4731988e-02 7.0836001e-02 +1678 3.364 -3.4872811e-02 6.9988373e-02 +1679 3.366 -3.5011945e-02 6.9146670e-02 +1680 3.368 -3.5149402e-02 6.8310857e-02 +1681 3.37 -3.5285193e-02 6.7480897e-02 +1682 3.372 -3.5419329e-02 6.6656756e-02 +1683 3.374 -3.5551824e-02 6.5838397e-02 +1684 3.376 -3.5682687e-02 6.5025786e-02 +1685 3.378 -3.5811931e-02 6.4218886e-02 +1686 3.38 -3.5939566e-02 6.3417664e-02 +1687 3.382 -3.6065605e-02 6.2622085e-02 +1688 3.384 -3.6190058e-02 6.1832115e-02 +1689 3.386 -3.6312937e-02 6.1047718e-02 +1690 3.388 -3.6434253e-02 6.0268861e-02 +1691 3.39 -3.6554016e-02 5.9495510e-02 +1692 3.392 -3.6672239e-02 5.8727632e-02 +1693 3.394 -3.6788931e-02 5.7965193e-02 +1694 3.396 -3.6904103e-02 5.7208160e-02 +1695 3.398 -3.7017767e-02 5.6456499e-02 +1696 3.4 -3.7129933e-02 5.5710178e-02 +1697 3.402 -3.7240611e-02 5.4969164e-02 +1698 3.404 -3.7349813e-02 5.4233425e-02 +1699 3.406 -3.7457548e-02 5.3502928e-02 +1700 3.408 -3.7563828e-02 5.2777641e-02 +1701 3.41 -3.7668662e-02 5.2057532e-02 +1702 3.412 -3.7772061e-02 5.1342569e-02 +1703 3.414 -3.7874036e-02 5.0632721e-02 +1704 3.416 -3.7974596e-02 4.9927957e-02 +1705 3.418 -3.8073751e-02 4.9228245e-02 +1706 3.42 -3.8171512e-02 4.8533554e-02 +1707 3.422 -3.8267889e-02 4.7843853e-02 +1708 3.424 -3.8362891e-02 4.7159112e-02 +1709 3.426 -3.8456528e-02 4.6479299e-02 +1710 3.428 -3.8548811e-02 4.5804386e-02 +1711 3.43 -3.8639749e-02 4.5134341e-02 +1712 3.432 -3.8729352e-02 4.4469135e-02 +1713 3.434 -3.8817629e-02 4.3808738e-02 +1714 3.436 -3.8904590e-02 4.3153120e-02 +1715 3.438 -3.8990245e-02 4.2502251e-02 +1716 3.44 -3.9074602e-02 4.1856103e-02 +1717 3.442 -3.9157672e-02 4.1214647e-02 +1718 3.444 -3.9239464e-02 4.0577853e-02 +1719 3.446 -3.9319987e-02 3.9945692e-02 +1720 3.448 -3.9399250e-02 3.9318137e-02 +1721 3.45 -3.9477262e-02 3.8695158e-02 +1722 3.452 -3.9554033e-02 3.8076727e-02 +1723 3.454 -3.9629572e-02 3.7462817e-02 +1724 3.456 -3.9703888e-02 3.6853399e-02 +1725 3.458 -3.9776989e-02 3.6248445e-02 +1726 3.46 -3.9848884e-02 3.5647928e-02 +1727 3.462 -3.9919583e-02 3.5051820e-02 +1728 3.464 -3.9989094e-02 3.4460095e-02 +1729 3.466 -4.0057427e-02 3.3872724e-02 +1730 3.468 -4.0124588e-02 3.3289681e-02 +1731 3.47 -4.0190588e-02 3.2710940e-02 +1732 3.472 -4.0255435e-02 3.2136472e-02 +1733 3.474 -4.0319137e-02 3.1566253e-02 +1734 3.476 -4.0381703e-02 3.1000255e-02 +1735 3.478 -4.0443141e-02 3.0438452e-02 +1736 3.48 -4.0503459e-02 2.9880818e-02 +1737 3.482 -4.0562667e-02 2.9327328e-02 +1738 3.484 -4.0620771e-02 2.8777955e-02 +1739 3.486 -4.0677781e-02 2.8232674e-02 +1740 3.488 -4.0733705e-02 2.7691460e-02 +1741 3.49 -4.0788550e-02 2.7154287e-02 +1742 3.492 -4.0842325e-02 2.6621129e-02 +1743 3.494 -4.0895037e-02 2.6091963e-02 +1744 3.496 -4.0946695e-02 2.5566763e-02 +1745 3.498 -4.0997307e-02 2.5045504e-02 +1746 3.5 -4.1046880e-02 2.4528162e-02 +1747 3.502 -4.1095422e-02 2.4014712e-02 +1748 3.504 -4.1142941e-02 2.3505130e-02 +1749 3.506 -4.1189445e-02 2.2999392e-02 +1750 3.508 -4.1234941e-02 2.2497474e-02 +1751 3.51 -4.1279437e-02 2.1999351e-02 +1752 3.512 -4.1322941e-02 2.1505001e-02 +1753 3.514 -4.1365460e-02 2.1014400e-02 +1754 3.516 -4.1407001e-02 2.0527524e-02 +1755 3.518 -4.1447573e-02 2.0044350e-02 +1756 3.52 -4.1487181e-02 1.9564854e-02 +1757 3.522 -4.1525834e-02 1.9089014e-02 +1758 3.524 -4.1563540e-02 1.8616806e-02 +1759 3.526 -4.1600304e-02 1.8148209e-02 +1760 3.528 -4.1636135e-02 1.7683199e-02 +1761 3.53 -4.1671039e-02 1.7221753e-02 +1762 3.532 -4.1705024e-02 1.6763850e-02 +1763 3.534 -4.1738097e-02 1.6309467e-02 +1764 3.536 -4.1770264e-02 1.5858581e-02 +1765 3.538 -4.1801534e-02 1.5411172e-02 +1766 3.54 -4.1831911e-02 1.4967217e-02 +1767 3.542 -4.1861405e-02 1.4526694e-02 +1768 3.544 -4.1890020e-02 1.4089582e-02 +1769 3.546 -4.1917765e-02 1.3655859e-02 +1770 3.548 -4.1944646e-02 1.3225504e-02 +1771 3.55 -4.1970670e-02 1.2798496e-02 +1772 3.552 -4.1995842e-02 1.2374813e-02 +1773 3.554 -4.2020171e-02 1.1954435e-02 +1774 3.556 -4.2043662e-02 1.1537340e-02 +1775 3.558 -4.2066323e-02 1.1123509e-02 +1776 3.56 -4.2088158e-02 1.0712919e-02 +1777 3.562 -4.2109176e-02 1.0305552e-02 +1778 3.564 -4.2129383e-02 9.9013857e-03 +1779 3.566 -4.2148784e-02 9.5004007e-03 +1780 3.568 -4.2167386e-02 9.1025768e-03 +1781 3.57 -4.2185196e-02 8.7078940e-03 +1782 3.572 -4.2202220e-02 8.3163322e-03 +1783 3.574 -4.2218464e-02 7.9278717e-03 +1784 3.576 -4.2233934e-02 7.5424928e-03 +1785 3.578 -4.2248636e-02 7.1601760e-03 +1786 3.58 -4.2262576e-02 6.7809019e-03 +1787 3.582 -4.2275761e-02 6.4046510e-03 +1788 3.584 -4.2288197e-02 6.0314042e-03 +1789 3.586 -4.2299889e-02 5.6611425e-03 +1790 3.588 -4.2310844e-02 5.2938466e-03 +1791 3.59 -4.2321066e-02 4.9294979e-03 +1792 3.592 -4.2330564e-02 4.5680776e-03 +1793 3.594 -4.2339341e-02 4.2095669e-03 +1794 3.596 -4.2347404e-02 3.8539473e-03 +1795 3.598 -4.2354758e-02 3.5012005e-03 +1796 3.6 -4.2361410e-02 3.1513080e-03 +1797 3.602 -4.2367365e-02 2.8042516e-03 +1798 3.604 -4.2372629e-02 2.4600133e-03 +1799 3.606 -4.2377207e-02 2.1185750e-03 +1800 3.608 -4.2381105e-02 1.7799188e-03 +1801 3.61 -4.2384329e-02 1.4440269e-03 +1802 3.612 -4.2386883e-02 1.1108816e-03 +1803 3.614 -4.2388774e-02 7.8046536e-04 +1804 3.616 -4.2390007e-02 4.5276065e-04 +1805 3.618 -4.2390587e-02 1.2775011e-04 +1806 3.62 -4.2390520e-02 -1.9458356e-04 +1807 3.622 -4.2389811e-02 -5.1425751e-04 +1808 3.624 -4.2388465e-02 -8.3128885e-04 +1809 3.626 -4.2386487e-02 -1.1456945e-03 +1810 3.628 -4.2383884e-02 -1.4574914e-03 +1811 3.63 -4.2380659e-02 -1.7666963e-03 +1812 3.632 -4.2376818e-02 -2.0733259e-03 +1813 3.634 -4.2372367e-02 -2.3773968e-03 +1814 3.636 -4.2367311e-02 -2.6789254e-03 +1815 3.638 -4.2361653e-02 -2.9779281e-03 +1816 3.64 -4.2355401e-02 -3.2744212e-03 +1817 3.642 -4.2348557e-02 -3.5684209e-03 +1818 3.644 -4.2341129e-02 -3.8599433e-03 +1819 3.646 -4.2333119e-02 -4.1490044e-03 +1820 3.648 -4.2324534e-02 -4.4356201e-03 +1821 3.65 -4.2315378e-02 -4.7198062e-03 +1822 3.652 -4.2305657e-02 -5.0015785e-03 +1823 3.654 -4.2295374e-02 -5.2809525e-03 +1824 3.656 -4.2284534e-02 -5.5579438e-03 +1825 3.658 -4.2273143e-02 -5.8325678e-03 +1826 3.66 -4.2261206e-02 -6.1048399e-03 +1827 3.662 -4.2248726e-02 -6.3747753e-03 +1828 3.664 -4.2235708e-02 -6.6423893e-03 +1829 3.666 -4.2222158e-02 -6.9076968e-03 +1830 3.668 -4.2208079e-02 -7.1707129e-03 +1831 3.67 -4.2193476e-02 -7.4314525e-03 +1832 3.672 -4.2178354e-02 -7.6899303e-03 +1833 3.674 -4.2162718e-02 -7.9461612e-03 +1834 3.676 -4.2146571e-02 -8.2001597e-03 +1835 3.678 -4.2129919e-02 -8.4519404e-03 +1836 3.68 -4.2112765e-02 -8.7015177e-03 +1837 3.682 -4.2095114e-02 -8.9489061e-03 +1838 3.684 -4.2076971e-02 -9.1941198e-03 +1839 3.686 -4.2058339e-02 -9.4371730e-03 +1840 3.688 -4.2039224e-02 -9.6780799e-03 +1841 3.69 -4.2019628e-02 -9.9168545e-03 +1842 3.692 -4.1999558e-02 -1.0153511e-02 +1843 3.694 -4.1979016e-02 -1.0388063e-02 +1844 3.696 -4.1958007e-02 -1.0620524e-02 +1845 3.698 -4.1936535e-02 -1.0850908e-02 +1846 3.7 -4.1914604e-02 -1.1079229e-02 +1847 3.702 -4.1892219e-02 -1.1305499e-02 +1848 3.704 -4.1869384e-02 -1.1529734e-02 +1849 3.706 -4.1846102e-02 -1.1751946e-02 +1850 3.708 -4.1822377e-02 -1.1972148e-02 +1851 3.71 -4.1798215e-02 -1.2190353e-02 +1852 3.712 -4.1773617e-02 -1.2406576e-02 +1853 3.714 -4.1748590e-02 -1.2620828e-02 +1854 3.716 -4.1723135e-02 -1.2833123e-02 +1855 3.718 -4.1697258e-02 -1.3043473e-02 +1856 3.72 -4.1670963e-02 -1.3251893e-02 +1857 3.722 -4.1644252e-02 -1.3458393e-02 +1858 3.724 -4.1617130e-02 -1.3662987e-02 +1859 3.726 -4.1589601e-02 -1.3865688e-02 +1860 3.728 -4.1561669e-02 -1.4066509e-02 +1861 3.73 -4.1533337e-02 -1.4265460e-02 +1862 3.732 -4.1504608e-02 -1.4462556e-02 +1863 3.734 -4.1475488e-02 -1.4657808e-02 +1864 3.736 -4.1445978e-02 -1.4851229e-02 +1865 3.738 -4.1416084e-02 -1.5042830e-02 +1866 3.74 -4.1385808e-02 -1.5232624e-02 +1867 3.742 -4.1355155e-02 -1.5420622e-02 +1868 3.744 -4.1324127e-02 -1.5606838e-02 +1869 3.746 -4.1292728e-02 -1.5791282e-02 +1870 3.748 -4.1260963e-02 -1.5973967e-02 +1871 3.75 -4.1228834e-02 -1.6154903e-02 +1872 3.752 -4.1196344e-02 -1.6334104e-02 +1873 3.754 -4.1163498e-02 -1.6511580e-02 +1874 3.756 -4.1130299e-02 -1.6687342e-02 +1875 3.758 -4.1096750e-02 -1.6861404e-02 +1876 3.76 -4.1062855e-02 -1.7033775e-02 +1877 3.762 -4.1028616e-02 -1.7204467e-02 +1878 3.764 -4.0994038e-02 -1.7373491e-02 +1879 3.766 -4.0959123e-02 -1.7540859e-02 +1880 3.768 -4.0923876e-02 -1.7706582e-02 +1881 3.77 -4.0888298e-02 -1.7870670e-02 +1882 3.772 -4.0852394e-02 -1.8033135e-02 +1883 3.774 -4.0816167e-02 -1.8193987e-02 +1884 3.776 -4.0779619e-02 -1.8353238e-02 +1885 3.778 -4.0742755e-02 -1.8510899e-02 +1886 3.78 -4.0705577e-02 -1.8666979e-02 +1887 3.782 -4.0668088e-02 -1.8821490e-02 +1888 3.784 -4.0630292e-02 -1.8974442e-02 +1889 3.786 -4.0592191e-02 -1.9125845e-02 +1890 3.788 -4.0553789e-02 -1.9275711e-02 +1891 3.79 -4.0515089e-02 -1.9424050e-02 +1892 3.792 -4.0476094e-02 -1.9570871e-02 +1893 3.794 -4.0436807e-02 -1.9716186e-02 +1894 3.796 -4.0397230e-02 -1.9860004e-02 +1895 3.798 -4.0357368e-02 -2.0002336e-02 +1896 3.8 -4.0317222e-02 -2.0143191e-02 +1897 3.802 -4.0276796e-02 -2.0282581e-02 +1898 3.804 -4.0236093e-02 -2.0420513e-02 +1899 3.806 -4.0195115e-02 -2.0557000e-02 +1900 3.808 -4.0153866e-02 -2.0692050e-02 +1901 3.81 -4.0112348e-02 -2.0825673e-02 +1902 3.812 -4.0070564e-02 -2.0957879e-02 +1903 3.814 -4.0028517e-02 -2.1088678e-02 +1904 3.816 -3.9986210e-02 -2.1218079e-02 +1905 3.818 -3.9943646e-02 -2.1346092e-02 +1906 3.82 -3.9900827e-02 -2.1472726e-02 +1907 3.822 -3.9857756e-02 -2.1597991e-02 +1908 3.824 -3.9814436e-02 -2.1721896e-02 +1909 3.826 -3.9770869e-02 -2.1844451e-02 +1910 3.828 -3.9727059e-02 -2.1965665e-02 +1911 3.83 -3.9683007e-02 -2.2085546e-02 +1912 3.832 -3.9638717e-02 -2.2204105e-02 +1913 3.834 -3.9594192e-02 -2.2321349e-02 +1914 3.836 -3.9549433e-02 -2.2437290e-02 +1915 3.838 -3.9504443e-02 -2.2551934e-02 +1916 3.84 -3.9459226e-02 -2.2665292e-02 +1917 3.842 -3.9413783e-02 -2.2777372e-02 +1918 3.844 -3.9368117e-02 -2.2888183e-02 +1919 3.846 -3.9322231e-02 -2.2997733e-02 +1920 3.848 -3.9276127e-02 -2.3106032e-02 +1921 3.85 -3.9229808e-02 -2.3213088e-02 +1922 3.852 -3.9183276e-02 -2.3318910e-02 +1923 3.854 -3.9136533e-02 -2.3423507e-02 +1924 3.856 -3.9089583e-02 -2.3526886e-02 +1925 3.858 -3.9042426e-02 -2.3629056e-02 +1926 3.86 -3.8995067e-02 -2.3730027e-02 +1927 3.862 -3.8947507e-02 -2.3829805e-02 +1928 3.864 -3.8899749e-02 -2.3928400e-02 +1929 3.866 -3.8851794e-02 -2.4025819e-02 +1930 3.868 -3.8803646e-02 -2.4122071e-02 +1931 3.87 -3.8755307e-02 -2.4217165e-02 +1932 3.872 -3.8706778e-02 -2.4311107e-02 +1933 3.874 -3.8658063e-02 -2.4403907e-02 +1934 3.876 -3.8609163e-02 -2.4495572e-02 +1935 3.878 -3.8560082e-02 -2.4586110e-02 +1936 3.88 -3.8510820e-02 -2.4675529e-02 +1937 3.882 -3.8461380e-02 -2.4763837e-02 +1938 3.884 -3.8411765e-02 -2.4851042e-02 +1939 3.886 -3.8361977e-02 -2.4937151e-02 +1940 3.888 -3.8312017e-02 -2.5022173e-02 +1941 3.89 -3.8261889e-02 -2.5106115e-02 +1942 3.892 -3.8211594e-02 -2.5188984e-02 +1943 3.894 -3.8161134e-02 -2.5270789e-02 +1944 3.896 -3.8110511e-02 -2.5351536e-02 +1945 3.898 -3.8059728e-02 -2.5431233e-02 +1946 3.9 -3.8008787e-02 -2.5509888e-02 +1947 3.902 -3.7957689e-02 -2.5587508e-02 +1948 3.904 -3.7906437e-02 -2.5664101e-02 +1949 3.906 -3.7855034e-02 -2.5739673e-02 +1950 3.908 -3.7803479e-02 -2.5814232e-02 +1951 3.91 -3.7751777e-02 -2.5887786e-02 +1952 3.912 -3.7699929e-02 -2.5960340e-02 +1953 3.914 -3.7647937e-02 -2.6031903e-02 +1954 3.916 -3.7595802e-02 -2.6102482e-02 +1955 3.918 -3.7543527e-02 -2.6172084e-02 +1956 3.92 -3.7491114e-02 -2.6240715e-02 +1957 3.922 -3.7438565e-02 -2.6308382e-02 +1958 3.924 -3.7385881e-02 -2.6375093e-02 +1959 3.926 -3.7333065e-02 -2.6440855e-02 +1960 3.928 -3.7280119e-02 -2.6505673e-02 +1961 3.93 -3.7227043e-02 -2.6569556e-02 +1962 3.932 -3.7173841e-02 -2.6632510e-02 +1963 3.934 -3.7120514e-02 -2.6694540e-02 +1964 3.936 -3.7067063e-02 -2.6755655e-02 +1965 3.938 -3.7013492e-02 -2.6815861e-02 +1966 3.94 -3.6959801e-02 -2.6875164e-02 +1967 3.942 -3.6905992e-02 -2.6933571e-02 +1968 3.944 -3.6852067e-02 -2.6991088e-02 +1969 3.946 -3.6798028e-02 -2.7047722e-02 +1970 3.948 -3.6743877e-02 -2.7103479e-02 +1971 3.95 -3.6689615e-02 -2.7158366e-02 +1972 3.952 -3.6635244e-02 -2.7212389e-02 +1973 3.954 -3.6580766e-02 -2.7265554e-02 +1974 3.956 -3.6526182e-02 -2.7317868e-02 +1975 3.958 -3.6471495e-02 -2.7369336e-02 +1976 3.96 -3.6416705e-02 -2.7419965e-02 +1977 3.962 -3.6361815e-02 -2.7469761e-02 +1978 3.964 -3.6306827e-02 -2.7518731e-02 +1979 3.966 -3.6251741e-02 -2.7566880e-02 +1980 3.968 -3.6196560e-02 -2.7614214e-02 +1981 3.97 -3.6141285e-02 -2.7660739e-02 +1982 3.972 -3.6085917e-02 -2.7706462e-02 +1983 3.974 -3.6030459e-02 -2.7751388e-02 +1984 3.976 -3.5974912e-02 -2.7795523e-02 +1985 3.978 -3.5919278e-02 -2.7838872e-02 +1986 3.98 -3.5863557e-02 -2.7881443e-02 +1987 3.982 -3.5807753e-02 -2.7923240e-02 +1988 3.984 -3.5751865e-02 -2.7964269e-02 +1989 3.986 -3.5695896e-02 -2.8004537e-02 +1990 3.988 -3.5639847e-02 -2.8044047e-02 +1991 3.99 -3.5583720e-02 -2.8082808e-02 +1992 3.992 -3.5527517e-02 -2.8120823e-02 +1993 3.994 -3.5471238e-02 -2.8158098e-02 +1994 3.996 -3.5414885e-02 -2.8194639e-02 +1995 3.998 -3.5358460e-02 -2.8230452e-02 +1996 4.0 -3.5301963e-02 -2.8265542e-02 +1997 4.002 -3.5245398e-02 -2.8299914e-02 +1998 4.004 -3.5188764e-02 -2.8333574e-02 +1999 4.006 -3.5132064e-02 -2.8366527e-02 +2000 4.008 -3.5075299e-02 -2.8398778e-02 +2001 4.01 -3.5018469e-02 -2.8430333e-02 +2002 4.012 -3.4961578e-02 -2.8461197e-02 +2003 4.014 -3.4904625e-02 -2.8491376e-02 +2004 4.016 -3.4847613e-02 -2.8520873e-02 +2005 4.018 -3.4790542e-02 -2.8549696e-02 +2006 4.02 -3.4733414e-02 -2.8577848e-02 +2007 4.022 -3.4676231e-02 -2.8605334e-02 +2008 4.024 -3.4618993e-02 -2.8632161e-02 +2009 4.026 -3.4561703e-02 -2.8658332e-02 +2010 4.028 -3.4504361e-02 -2.8683854e-02 +2011 4.03 -3.4446968e-02 -2.8708730e-02 +2012 4.032 -3.4389526e-02 -2.8732966e-02 +2013 4.034 -3.4332036e-02 -2.8756567e-02 +2014 4.036 -3.4274500e-02 -2.8779537e-02 +2015 4.038 -3.4216919e-02 -2.8801882e-02 +2016 4.04 -3.4159293e-02 -2.8823606e-02 +2017 4.042 -3.4101625e-02 -2.8844714e-02 +2018 4.044 -3.4043915e-02 -2.8865211e-02 +2019 4.046 -3.3986164e-02 -2.8885101e-02 +2020 4.048 -3.3928375e-02 -2.8904390e-02 +2021 4.05 -3.3870547e-02 -2.8923082e-02 +2022 4.052 -3.3812683e-02 -2.8941181e-02 +2023 4.054 -3.3754783e-02 -2.8958692e-02 +2024 4.056 -3.3696848e-02 -2.8975620e-02 +2025 4.058 -3.3638881e-02 -2.8991969e-02 +2026 4.06 -3.3580881e-02 -2.9007744e-02 +2027 4.062 -3.3522850e-02 -2.9022949e-02 +2028 4.064 -3.3464789e-02 -2.9037589e-02 +2029 4.066 -3.3406700e-02 -2.9051669e-02 +2030 4.068 -3.3348583e-02 -2.9065191e-02 +2031 4.07 -3.3290440e-02 -2.9078162e-02 +2032 4.072 -3.3232271e-02 -2.9090585e-02 +2033 4.074 -3.3174078e-02 -2.9102465e-02 +2034 4.076 -3.3115861e-02 -2.9113806e-02 +2035 4.078 -3.3057623e-02 -2.9124612e-02 +2036 4.08 -3.2999363e-02 -2.9134887e-02 +2037 4.082 -3.2941084e-02 -2.9144637e-02 +2038 4.084 -3.2882785e-02 -2.9153864e-02 +2039 4.086 -3.2824468e-02 -2.9162573e-02 +2040 4.088 -3.2766135e-02 -2.9170768e-02 +2041 4.09 -3.2707786e-02 -2.9178453e-02 +2042 4.092 -3.2649422e-02 -2.9185633e-02 +2043 4.094 -3.2591044e-02 -2.9192312e-02 +2044 4.096 -3.2532653e-02 -2.9198492e-02 +2045 4.098 -3.2474250e-02 -2.9204180e-02 +2046 4.1 -3.2415836e-02 -2.9209377e-02 +2047 4.102 -3.2357413e-02 -2.9214090e-02 +2048 4.104 -3.2298980e-02 -2.9218320e-02 +2049 4.106 -3.2240540e-02 -2.9222073e-02 +2050 4.108 -3.2182092e-02 -2.9225352e-02 +2051 4.11 -3.2123639e-02 -2.9228161e-02 +2052 4.112 -3.2065180e-02 -2.9230503e-02 +2053 4.114 -3.2006717e-02 -2.9232383e-02 +2054 4.116 -3.1948251e-02 -2.9233805e-02 +2055 4.118 -3.1889782e-02 -2.9234772e-02 +2056 4.12 -3.1831312e-02 -2.9235288e-02 +2057 4.122 -3.1772841e-02 -2.9235356e-02 +2058 4.124 -3.1714371e-02 -2.9234981e-02 +2059 4.126 -3.1655902e-02 -2.9234165e-02 +2060 4.128 -3.1597434e-02 -2.9232913e-02 +2061 4.13 -3.1538970e-02 -2.9231229e-02 +2062 4.132 -3.1480510e-02 -2.9229115e-02 +2063 4.134 -3.1422054e-02 -2.9226576e-02 +2064 4.136 -3.1363604e-02 -2.9223614e-02 +2065 4.138 -3.1305160e-02 -2.9220234e-02 +2066 4.14 -3.1246723e-02 -2.9216439e-02 +2067 4.142 -3.1188294e-02 -2.9212232e-02 +2068 4.144 -3.1129874e-02 -2.9207617e-02 +2069 4.146 -3.1071464e-02 -2.9202598e-02 +2070 4.148 -3.1013064e-02 -2.9197177e-02 +2071 4.15 -3.0954676e-02 -2.9191359e-02 +2072 4.152 -3.0896299e-02 -2.9185145e-02 +2073 4.154 -3.0837935e-02 -2.9178541e-02 +2074 4.156 -3.0779585e-02 -2.9171549e-02 +2075 4.158 -3.0721249e-02 -2.9164172e-02 +2076 4.16 -3.0662929e-02 -2.9156414e-02 +2077 4.162 -3.0604624e-02 -2.9148278e-02 +2078 4.164 -3.0546336e-02 -2.9139767e-02 +2079 4.166 -3.0488065e-02 -2.9130885e-02 +2080 4.168 -3.0429813e-02 -2.9121634e-02 +2081 4.17 -3.0371579e-02 -2.9112018e-02 +2082 4.172 -3.0313365e-02 -2.9102040e-02 +2083 4.174 -3.0255171e-02 -2.9091704e-02 +2084 4.176 -3.0196998e-02 -2.9081011e-02 +2085 4.178 -3.0138847e-02 -2.9069966e-02 +2086 4.18 -3.0080719e-02 -2.9058571e-02 +2087 4.182 -3.0022613e-02 -2.9046830e-02 +2088 4.184 -2.9964532e-02 -2.9034745e-02 +2089 4.186 -2.9906474e-02 -2.9022319e-02 +2090 4.188 -2.9848442e-02 -2.9009556e-02 +2091 4.19 -2.9790436e-02 -2.8996459e-02 +2092 4.192 -2.9732457e-02 -2.8983030e-02 +2093 4.194 -2.9674505e-02 -2.8969272e-02 +2094 4.196 -2.9616580e-02 -2.8955189e-02 +2095 4.198 -2.9558684e-02 -2.8940783e-02 +2096 4.2 -2.9500817e-02 -2.8926057e-02 +2097 4.202 -2.9442980e-02 -2.8911014e-02 +2098 4.204 -2.9385173e-02 -2.8895656e-02 +2099 4.206 -2.9327398e-02 -2.8879987e-02 +2100 4.208 -2.9269653e-02 -2.8864010e-02 +2101 4.21 -2.9211942e-02 -2.8847727e-02 +2102 4.212 -2.9154263e-02 -2.8831140e-02 +2103 4.214 -2.9096617e-02 -2.8814254e-02 +2104 4.216 -2.9039006e-02 -2.8797069e-02 +2105 4.218 -2.8981429e-02 -2.8779590e-02 +2106 4.22 -2.8923888e-02 -2.8761819e-02 +2107 4.222 -2.8866382e-02 -2.8743758e-02 +2108 4.224 -2.8808913e-02 -2.8725411e-02 +2109 4.226 -2.8751481e-02 -2.8706779e-02 +2110 4.228 -2.8694086e-02 -2.8687865e-02 +2111 4.23 -2.8636729e-02 -2.8668673e-02 +2112 4.232 -2.8579412e-02 -2.8649204e-02 +2113 4.234 -2.8522133e-02 -2.8629462e-02 +2114 4.236 -2.8464894e-02 -2.8609448e-02 +2115 4.238 -2.8407695e-02 -2.8589166e-02 +2116 4.24 -2.8350537e-02 -2.8568617e-02 +2117 4.242 -2.8293421e-02 -2.8547805e-02 +2118 4.244 -2.8236346e-02 -2.8526731e-02 +2119 4.246 -2.8179314e-02 -2.8505399e-02 +2120 4.248 -2.8122325e-02 -2.8483811e-02 +2121 4.25 -2.8065379e-02 -2.8461968e-02 +2122 4.252 -2.8008477e-02 -2.8439875e-02 +2123 4.254 -2.7951620e-02 -2.8417532e-02 +2124 4.256 -2.7894807e-02 -2.8394943e-02 +2125 4.258 -2.7838040e-02 -2.8372109e-02 +2126 4.26 -2.7781319e-02 -2.8349034e-02 +2127 4.262 -2.7724644e-02 -2.8325719e-02 +2128 4.264 -2.7668016e-02 -2.8302167e-02 +2129 4.266 -2.7611436e-02 -2.8278380e-02 +2130 4.268 -2.7554903e-02 -2.8254361e-02 +2131 4.27 -2.7498418e-02 -2.8230111e-02 +2132 4.272 -2.7441983e-02 -2.8205633e-02 +2133 4.274 -2.7385596e-02 -2.8180929e-02 +2134 4.276 -2.7329259e-02 -2.8156002e-02 +2135 4.278 -2.7272972e-02 -2.8130853e-02 +2136 4.28 -2.7216736e-02 -2.8105486e-02 +2137 4.282 -2.7160550e-02 -2.8079901e-02 +2138 4.284 -2.7104416e-02 -2.8054102e-02 +2139 4.286 -2.7048334e-02 -2.8028090e-02 +2140 4.288 -2.6992304e-02 -2.8001867e-02 +2141 4.29 -2.6936327e-02 -2.7975437e-02 +2142 4.292 -2.6880402e-02 -2.7948800e-02 +2143 4.294 -2.6824532e-02 -2.7921959e-02 +2144 4.296 -2.6768715e-02 -2.7894916e-02 +2145 4.298 -2.6712952e-02 -2.7867673e-02 +2146 4.3 -2.6657244e-02 -2.7840232e-02 +2147 4.302 -2.6601591e-02 -2.7812595e-02 +2148 4.304 -2.6545994e-02 -2.7784764e-02 +2149 4.306 -2.6490452e-02 -2.7756742e-02 +2150 4.308 -2.6434967e-02 -2.7728530e-02 +2151 4.31 -2.6379538e-02 -2.7700130e-02 +2152 4.312 -2.6324167e-02 -2.7671545e-02 +2153 4.314 -2.6268852e-02 -2.7642775e-02 +2154 4.316 -2.6213596e-02 -2.7613824e-02 +2155 4.318 -2.6158397e-02 -2.7584693e-02 +2156 4.32 -2.6103257e-02 -2.7555383e-02 +2157 4.322 -2.6048176e-02 -2.7525898e-02 +2158 4.324 -2.5993154e-02 -2.7496238e-02 +2159 4.326 -2.5938191e-02 -2.7466406e-02 +2160 4.328 -2.5883288e-02 -2.7436404e-02 +2161 4.33 -2.5828445e-02 -2.7406233e-02 +2162 4.332 -2.5773663e-02 -2.7375895e-02 +2163 4.334 -2.5718942e-02 -2.7345392e-02 +2164 4.336 -2.5664282e-02 -2.7314727e-02 +2165 4.338 -2.5609683e-02 -2.7283900e-02 +2166 4.34 -2.5555146e-02 -2.7252913e-02 +2167 4.342 -2.5500672e-02 -2.7221769e-02 +2168 4.344 -2.5446259e-02 -2.7190469e-02 +2169 4.346 -2.5391910e-02 -2.7159014e-02 +2170 4.348 -2.5337623e-02 -2.7127408e-02 +2171 4.35 -2.5283400e-02 -2.7095650e-02 +2172 4.352 -2.5229241e-02 -2.7063744e-02 +2173 4.354 -2.5175145e-02 -2.7031690e-02 +2174 4.356 -2.5121114e-02 -2.6999491e-02 +2175 4.358 -2.5067148e-02 -2.6967148e-02 +2176 4.36 -2.5013246e-02 -2.6934662e-02 +2177 4.362 -2.4959409e-02 -2.6902037e-02 +2178 4.364 -2.4905638e-02 -2.6869272e-02 +2179 4.366 -2.4851932e-02 -2.6836370e-02 +2180 4.368 -2.4798292e-02 -2.6803333e-02 +2181 4.37 -2.4744719e-02 -2.6770161e-02 +2182 4.372 -2.4691212e-02 -2.6736857e-02 +2183 4.374 -2.4637771e-02 -2.6703423e-02 +2184 4.376 -2.4584398e-02 -2.6669859e-02 +2185 4.378 -2.4531092e-02 -2.6636167e-02 +2186 4.38 -2.4477854e-02 -2.6602350e-02 +2187 4.382 -2.4424683e-02 -2.6568408e-02 +2188 4.384 -2.4371580e-02 -2.6534343e-02 +2189 4.386 -2.4318545e-02 -2.6500156e-02 +2190 4.388 -2.4265579e-02 -2.6465850e-02 +2191 4.39 -2.4212682e-02 -2.6431425e-02 +2192 4.392 -2.4159854e-02 -2.6396883e-02 +2193 4.394 -2.4107095e-02 -2.6362226e-02 +2194 4.396 -2.4054405e-02 -2.6327455e-02 +2195 4.398 -2.4001785e-02 -2.6292572e-02 +2196 4.4 -2.3949235e-02 -2.6257577e-02 +2197 4.402 -2.3896755e-02 -2.6222473e-02 +2198 4.404 -2.3844345e-02 -2.6187261e-02 +2199 4.406 -2.3792006e-02 -2.6151941e-02 +2200 4.408 -2.3739737e-02 -2.6116517e-02 +2201 4.41 -2.3687540e-02 -2.6080989e-02 +2202 4.412 -2.3635413e-02 -2.6045358e-02 +2203 4.414 -2.3583358e-02 -2.6009626e-02 +2204 4.416 -2.3531375e-02 -2.5973795e-02 +2205 4.418 -2.3479463e-02 -2.5937865e-02 +2206 4.42 -2.3427624e-02 -2.5901838e-02 +2207 4.422 -2.3375856e-02 -2.5865715e-02 +2208 4.424 -2.3324161e-02 -2.5829498e-02 +2209 4.426 -2.3272538e-02 -2.5793188e-02 +2210 4.428 -2.3220988e-02 -2.5756786e-02 +2211 4.43 -2.3169511e-02 -2.5720294e-02 +2212 4.432 -2.3118107e-02 -2.5683713e-02 +2213 4.434 -2.3066776e-02 -2.5647044e-02 +2214 4.436 -2.3015519e-02 -2.5610288e-02 +2215 4.438 -2.2964335e-02 -2.5573447e-02 +2216 4.44 -2.2913225e-02 -2.5536523e-02 +2217 4.442 -2.2862189e-02 -2.5499515e-02 +2218 4.444 -2.2811227e-02 -2.5462426e-02 +2219 4.446 -2.2760339e-02 -2.5425257e-02 +2220 4.448 -2.2709526e-02 -2.5388008e-02 +2221 4.45 -2.2658787e-02 -2.5350682e-02 +2222 4.452 -2.2608123e-02 -2.5313279e-02 +2223 4.454 -2.2557534e-02 -2.5275801e-02 +2224 4.456 -2.2507020e-02 -2.5238248e-02 +2225 4.458 -2.2456581e-02 -2.5200623e-02 +2226 4.46 -2.2406218e-02 -2.5162926e-02 +2227 4.462 -2.2355930e-02 -2.5125157e-02 +2228 4.464 -2.2305717e-02 -2.5087320e-02 +2229 4.466 -2.2255581e-02 -2.5049414e-02 +2230 4.468 -2.2205520e-02 -2.5011440e-02 +2231 4.47 -2.2155535e-02 -2.4973401e-02 +2232 4.472 -2.2105626e-02 -2.4935296e-02 +2233 4.474 -2.2055794e-02 -2.4897128e-02 +2234 4.476 -2.2006038e-02 -2.4858897e-02 +2235 4.478 -2.1956358e-02 -2.4820604e-02 +2236 4.48 -2.1906755e-02 -2.4782250e-02 +2237 4.482 -2.1857229e-02 -2.4743837e-02 +2238 4.484 -2.1807780e-02 -2.4705366e-02 +2239 4.486 -2.1758408e-02 -2.4666837e-02 +2240 4.488 -2.1709113e-02 -2.4628252e-02 +2241 4.49 -2.1659895e-02 -2.4589611e-02 +2242 4.492 -2.1610754e-02 -2.4550916e-02 +2243 4.494 -2.1561691e-02 -2.4512168e-02 +2244 4.496 -2.1512706e-02 -2.4473368e-02 +2245 4.498 -2.1463798e-02 -2.4434517e-02 +2246 4.5 -2.1414968e-02 -2.4395615e-02 +2247 4.502 -2.1366215e-02 -2.4356664e-02 +2248 4.504 -2.1317541e-02 -2.4317665e-02 +2249 4.506 -2.1268945e-02 -2.4278619e-02 +2250 4.508 -2.1220426e-02 -2.4239527e-02 +2251 4.51 -2.1171987e-02 -2.4200390e-02 +2252 4.512 -2.1123625e-02 -2.4161208e-02 +2253 4.514 -2.1075342e-02 -2.4121983e-02 +2254 4.516 -2.1027137e-02 -2.4082716e-02 +2255 4.518 -2.0979011e-02 -2.4043407e-02 +2256 4.52 -2.0930963e-02 -2.4004058e-02 +2257 4.522 -2.0882995e-02 -2.3964669e-02 +2258 4.524 -2.0835105e-02 -2.3925242e-02 +2259 4.526 -2.0787294e-02 -2.3885777e-02 +2260 4.528 -2.0739562e-02 -2.3846275e-02 +2261 4.53 -2.0691909e-02 -2.3806737e-02 +2262 4.532 -2.0644335e-02 -2.3767164e-02 +2263 4.534 -2.0596840e-02 -2.3727558e-02 +2264 4.536 -2.0549425e-02 -2.3687918e-02 +2265 4.538 -2.0502088e-02 -2.3648245e-02 +2266 4.54 -2.0454832e-02 -2.3608541e-02 +2267 4.542 -2.0407654e-02 -2.3568807e-02 +2268 4.544 -2.0360556e-02 -2.3529043e-02 +2269 4.546 -2.0313538e-02 -2.3489250e-02 +2270 4.548 -2.0266599e-02 -2.3449429e-02 +2271 4.55 -2.0219740e-02 -2.3409580e-02 +2272 4.552 -2.0172961e-02 -2.3369705e-02 +2273 4.554 -2.0126262e-02 -2.3329805e-02 +2274 4.556 -2.0079642e-02 -2.3289880e-02 +2275 4.558 -2.0033102e-02 -2.3249930e-02 +2276 4.56 -1.9986642e-02 -2.3209958e-02 +2277 4.562 -1.9940262e-02 -2.3169964e-02 +2278 4.564 -1.9893962e-02 -2.3129947e-02 +2279 4.566 -1.9847743e-02 -2.3089910e-02 +2280 4.568 -1.9801603e-02 -2.3049853e-02 +2281 4.57 -1.9755543e-02 -2.3009777e-02 +2282 4.572 -1.9709564e-02 -2.2969682e-02 +2283 4.574 -1.9663664e-02 -2.2929570e-02 +2284 4.576 -1.9617845e-02 -2.2889440e-02 +2285 4.578 -1.9572107e-02 -2.2849295e-02 +2286 4.58 -1.9526448e-02 -2.2809134e-02 +2287 4.582 -1.9480870e-02 -2.2768958e-02 +2288 4.584 -1.9435372e-02 -2.2728768e-02 +2289 4.586 -1.9389955e-02 -2.2688565e-02 +2290 4.588 -1.9344618e-02 -2.2648349e-02 +2291 4.59 -1.9299362e-02 -2.2608122e-02 +2292 4.592 -1.9254186e-02 -2.2567883e-02 +2293 4.594 -1.9209090e-02 -2.2527634e-02 +2294 4.596 -1.9164075e-02 -2.2487376e-02 +2295 4.598 -1.9119141e-02 -2.2447108e-02 +2296 4.6 -1.9074287e-02 -2.2406832e-02 +2297 4.602 -1.9029513e-02 -2.2366548e-02 +2298 4.604 -1.8984821e-02 -2.2326257e-02 +2299 4.606 -1.8940208e-02 -2.2285960e-02 +2300 4.608 -1.8895677e-02 -2.2245657e-02 +2301 4.61 -1.8851226e-02 -2.2205349e-02 +2302 4.612 -1.8806855e-02 -2.2165037e-02 +2303 4.614 -1.8762566e-02 -2.2124721e-02 +2304 4.616 -1.8718356e-02 -2.2084402e-02 +2305 4.618 -1.8674228e-02 -2.2044080e-02 +2306 4.62 -1.8630180e-02 -2.2003757e-02 +2307 4.622 -1.8586213e-02 -2.1963432e-02 +2308 4.624 -1.8542326e-02 -2.1923107e-02 +2309 4.626 -1.8498520e-02 -2.1882782e-02 +2310 4.628 -1.8454795e-02 -2.1842458e-02 +2311 4.63 -1.8411151e-02 -2.1802135e-02 +2312 4.632 -1.8367587e-02 -2.1761813e-02 +2313 4.634 -1.8324103e-02 -2.1721495e-02 +2314 4.636 -1.8280701e-02 -2.1681179e-02 +2315 4.638 -1.8237379e-02 -2.1640867e-02 +2316 4.64 -1.8194137e-02 -2.1600559e-02 +2317 4.642 -1.8150976e-02 -2.1560256e-02 +2318 4.644 -1.8107896e-02 -2.1519958e-02 +2319 4.646 -1.8064897e-02 -2.1479667e-02 +2320 4.648 -1.8021978e-02 -2.1439381e-02 +2321 4.65 -1.7979139e-02 -2.1399103e-02 +2322 4.652 -1.7936381e-02 -2.1358833e-02 +2323 4.654 -1.7893704e-02 -2.1318570e-02 +2324 4.656 -1.7851107e-02 -2.1278317e-02 +2325 4.658 -1.7808590e-02 -2.1238072e-02 +2326 4.66 -1.7766155e-02 -2.1197838e-02 +2327 4.662 -1.7723799e-02 -2.1157613e-02 +2328 4.664 -1.7681524e-02 -2.1117400e-02 +2329 4.666 -1.7639329e-02 -2.1077197e-02 +2330 4.668 -1.7597215e-02 -2.1037007e-02 +2331 4.67 -1.7555181e-02 -2.0996829e-02 +2332 4.672 -1.7513228e-02 -2.0956664e-02 +2333 4.674 -1.7471355e-02 -2.0916512e-02 +2334 4.676 -1.7429562e-02 -2.0876374e-02 +2335 4.678 -1.7387849e-02 -2.0836251e-02 +2336 4.68 -1.7346217e-02 -2.0796142e-02 +2337 4.682 -1.7304665e-02 -2.0756049e-02 +2338 4.684 -1.7263193e-02 -2.0715972e-02 +2339 4.686 -1.7221801e-02 -2.0675911e-02 +2340 4.688 -1.7180489e-02 -2.0635866e-02 +2341 4.69 -1.7139257e-02 -2.0595839e-02 +2342 4.692 -1.7098106e-02 -2.0555830e-02 +2343 4.694 -1.7057034e-02 -2.0515839e-02 +2344 4.696 -1.7016042e-02 -2.0475866e-02 +2345 4.698 -1.6975131e-02 -2.0435913e-02 +2346 4.7 -1.6934299e-02 -2.0395979e-02 +2347 4.702 -1.6893547e-02 -2.0356065e-02 +2348 4.704 -1.6852874e-02 -2.0316171e-02 +2349 4.706 -1.6812282e-02 -2.0276299e-02 +2350 4.708 -1.6771769e-02 -2.0236447e-02 +2351 4.71 -1.6731336e-02 -2.0196617e-02 +2352 4.712 -1.6690983e-02 -2.0156810e-02 +2353 4.714 -1.6650709e-02 -2.0117025e-02 +2354 4.716 -1.6610515e-02 -2.0077263e-02 +2355 4.718 -1.6570400e-02 -2.0037524e-02 +2356 4.72 -1.6530364e-02 -1.9997809e-02 +2357 4.722 -1.6490409e-02 -1.9958119e-02 +2358 4.724 -1.6450532e-02 -1.9918453e-02 +2359 4.726 -1.6410735e-02 -1.9878812e-02 +2360 4.728 -1.6371017e-02 -1.9839196e-02 +2361 4.73 -1.6331378e-02 -1.9799606e-02 +2362 4.732 -1.6291818e-02 -1.9760043e-02 +2363 4.734 -1.6252338e-02 -1.9720506e-02 +2364 4.736 -1.6212936e-02 -1.9680996e-02 +2365 4.738 -1.6173614e-02 -1.9641513e-02 +2366 4.74 -1.6134370e-02 -1.9602058e-02 +2367 4.742 -1.6095205e-02 -1.9562631e-02 +2368 4.744 -1.6056120e-02 -1.9523232e-02 +2369 4.746 -1.6017112e-02 -1.9483862e-02 +2370 4.748 -1.5978184e-02 -1.9444522e-02 +2371 4.75 -1.5939334e-02 -1.9405211e-02 +2372 4.752 -1.5900563e-02 -1.9365929e-02 +2373 4.754 -1.5861871e-02 -1.9326678e-02 +2374 4.756 -1.5823257e-02 -1.9287458e-02 +2375 4.758 -1.5784721e-02 -1.9248268e-02 +2376 4.76 -1.5746263e-02 -1.9209110e-02 +2377 4.762 -1.5707884e-02 -1.9169983e-02 +2378 4.764 -1.5669583e-02 -1.9130888e-02 +2379 4.766 -1.5631361e-02 -1.9091825e-02 +2380 4.768 -1.5593216e-02 -1.9052795e-02 +2381 4.77 -1.5555150e-02 -1.9013798e-02 +2382 4.772 -1.5517161e-02 -1.8974834e-02 +2383 4.774 -1.5479250e-02 -1.8935903e-02 +2384 4.776 -1.5441417e-02 -1.8897007e-02 +2385 4.778 -1.5403662e-02 -1.8858144e-02 +2386 4.78 -1.5365985e-02 -1.8819316e-02 +2387 4.782 -1.5328385e-02 -1.8780523e-02 +2388 4.784 -1.5290863e-02 -1.8741765e-02 +2389 4.786 -1.5253418e-02 -1.8703042e-02 +2390 4.788 -1.5216050e-02 -1.8664355e-02 +2391 4.79 -1.5178760e-02 -1.8625704e-02 +2392 4.792 -1.5141548e-02 -1.8587089e-02 +2393 4.794 -1.5104412e-02 -1.8548510e-02 +2394 4.796 -1.5067353e-02 -1.8509968e-02 +2395 4.798 -1.5030372e-02 -1.8471464e-02 +2396 4.8 -1.4993468e-02 -1.8432997e-02 +2397 4.802 -1.4956640e-02 -1.8394567e-02 +2398 4.804 -1.4919889e-02 -1.8356175e-02 +2399 4.806 -1.4883215e-02 -1.8317822e-02 +2400 4.808 -1.4846618e-02 -1.8279507e-02 +2401 4.81 -1.4810097e-02 -1.8241230e-02 +2402 4.812 -1.4773653e-02 -1.8202993e-02 +2403 4.814 -1.4737285e-02 -1.8164795e-02 +2404 4.816 -1.4700994e-02 -1.8126636e-02 +2405 4.818 -1.4664779e-02 -1.8088517e-02 +2406 4.82 -1.4628640e-02 -1.8050439e-02 +2407 4.822 -1.4592577e-02 -1.8012400e-02 +2408 4.824 -1.4556590e-02 -1.7974402e-02 +2409 4.826 -1.4520679e-02 -1.7936444e-02 +2410 4.828 -1.4484844e-02 -1.7898528e-02 +2411 4.83 -1.4449085e-02 -1.7860653e-02 +2412 4.832 -1.4413402e-02 -1.7822819e-02 +2413 4.834 -1.4377794e-02 -1.7785027e-02 +2414 4.836 -1.4342262e-02 -1.7747276e-02 +2415 4.838 -1.4306805e-02 -1.7709568e-02 +2416 4.84 -1.4271423e-02 -1.7671903e-02 +2417 4.842 -1.4236117e-02 -1.7634279e-02 +2418 4.844 -1.4200886e-02 -1.7596699e-02 +2419 4.846 -1.4165730e-02 -1.7559162e-02 +2420 4.848 -1.4130649e-02 -1.7521667e-02 +2421 4.85 -1.4095644e-02 -1.7484217e-02 +2422 4.852 -1.4060713e-02 -1.7446810e-02 +2423 4.854 -1.4025856e-02 -1.7409446e-02 +2424 4.856 -1.3991075e-02 -1.7372127e-02 +2425 4.858 -1.3956368e-02 -1.7334852e-02 +2426 4.86 -1.3921735e-02 -1.7297622e-02 +2427 4.862 -1.3887177e-02 -1.7260436e-02 +2428 4.864 -1.3852694e-02 -1.7223295e-02 +2429 4.866 -1.3818284e-02 -1.7186199e-02 +2430 4.868 -1.3783949e-02 -1.7149148e-02 +2431 4.87 -1.3749687e-02 -1.7112143e-02 +2432 4.872 -1.3715500e-02 -1.7075184e-02 +2433 4.874 -1.3681387e-02 -1.7038270e-02 +2434 4.876 -1.3647347e-02 -1.7001402e-02 +2435 4.878 -1.3613381e-02 -1.6964580e-02 +2436 4.88 -1.3579489e-02 -1.6927805e-02 +2437 4.882 -1.3545670e-02 -1.6891076e-02 +2438 4.884 -1.3511924e-02 -1.6854394e-02 +2439 4.886 -1.3478252e-02 -1.6817759e-02 +2440 4.888 -1.3444653e-02 -1.6781170e-02 +2441 4.89 -1.3411127e-02 -1.6744629e-02 +2442 4.892 -1.3377675e-02 -1.6708136e-02 +2443 4.894 -1.3344295e-02 -1.6671689e-02 +2444 4.896 -1.3310988e-02 -1.6635291e-02 +2445 4.898 -1.3277754e-02 -1.6598940e-02 +2446 4.9 -1.3244592e-02 -1.6562638e-02 +2447 4.902 -1.3211503e-02 -1.6526383e-02 +2448 4.904 -1.3178487e-02 -1.6490177e-02 +2449 4.906 -1.3145542e-02 -1.6454019e-02 +2450 4.908 -1.3112670e-02 -1.6417910e-02 +2451 4.91 -1.3079871e-02 -1.6381850e-02 +2452 4.912 -1.3047143e-02 -1.6345838e-02 +2453 4.914 -1.3014487e-02 -1.6309876e-02 +2454 4.916 -1.2981903e-02 -1.6273962e-02 +2455 4.918 -1.2949391e-02 -1.6238098e-02 +2456 4.92 -1.2916951e-02 -1.6202284e-02 +2457 4.922 -1.2884582e-02 -1.6166519e-02 +2458 4.924 -1.2852285e-02 -1.6130804e-02 +2459 4.926 -1.2820059e-02 -1.6095138e-02 +2460 4.928 -1.2787904e-02 -1.6059523e-02 +2461 4.93 -1.2755821e-02 -1.6023958e-02 +2462 4.932 -1.2723808e-02 -1.5988443e-02 +2463 4.934 -1.2691867e-02 -1.5952978e-02 +2464 4.936 -1.2659997e-02 -1.5917564e-02 +2465 4.938 -1.2628197e-02 -1.5882201e-02 +2466 4.94 -1.2596468e-02 -1.5846888e-02 +2467 4.942 -1.2564809e-02 -1.5811626e-02 +2468 4.944 -1.2533221e-02 -1.5776415e-02 +2469 4.946 -1.2501703e-02 -1.5741255e-02 +2470 4.948 -1.2470256e-02 -1.5706146e-02 +2471 4.95 -1.2438879e-02 -1.5671089e-02 +2472 4.952 -1.2407572e-02 -1.5636083e-02 +2473 4.954 -1.2376334e-02 -1.5601128e-02 +2474 4.956 -1.2345167e-02 -1.5566225e-02 +2475 4.958 -1.2314070e-02 -1.5531374e-02 +2476 4.96 -1.2283042e-02 -1.5496575e-02 +2477 4.962 -1.2252083e-02 -1.5461827e-02 +2478 4.964 -1.2221194e-02 -1.5427132e-02 +2479 4.966 -1.2190375e-02 -1.5392488e-02 +2480 4.968 -1.2159624e-02 -1.5357897e-02 +2481 4.97 -1.2128943e-02 -1.5323358e-02 +2482 4.972 -1.2098331e-02 -1.5288872e-02 +2483 4.974 -1.2067788e-02 -1.5254438e-02 +2484 4.976 -1.2037313e-02 -1.5220057e-02 +2485 4.978 -1.2006907e-02 -1.5185728e-02 +2486 4.98 -1.1976570e-02 -1.5151452e-02 +2487 4.982 -1.1946301e-02 -1.5117229e-02 +2488 4.984 -1.1916101e-02 -1.5083059e-02 +2489 4.986 -1.1885969e-02 -1.5048942e-02 +2490 4.988 -1.1855905e-02 -1.5014878e-02 +2491 4.99 -1.1825910e-02 -1.4980867e-02 +2492 4.992 -1.1795982e-02 -1.4946909e-02 +2493 4.994 -1.1766122e-02 -1.4913005e-02 +2494 4.996 -1.1736330e-02 -1.4879154e-02 +2495 4.998 -1.1706605e-02 -1.4845356e-02 +2496 5.0 -1.1676948e-02 -1.4811612e-02 +2497 5.002 -1.1647359e-02 -1.4777922e-02 +2498 5.004 -1.1617837e-02 -1.4744285e-02 +2499 5.006 -1.1588382e-02 -1.4710702e-02 +2500 5.008 -1.1558994e-02 -1.4677173e-02 +2501 5.01 -1.1529673e-02 -1.4643698e-02 +2502 5.012 -1.1500419e-02 -1.4610276e-02 +2503 5.014 -1.1471232e-02 -1.4576909e-02 +2504 5.016 -1.1442111e-02 -1.4543596e-02 +2505 5.018 -1.1413057e-02 -1.4510337e-02 +2506 5.02 -1.1384070e-02 -1.4477132e-02 +2507 5.022 -1.1355149e-02 -1.4443981e-02 +2508 5.024 -1.1326294e-02 -1.4410885e-02 +2509 5.026 -1.1297505e-02 -1.4377842e-02 +2510 5.028 -1.1268782e-02 -1.4344855e-02 +2511 5.03 -1.1240126e-02 -1.4311921e-02 +2512 5.032 -1.1211535e-02 -1.4279043e-02 +2513 5.034 -1.1183010e-02 -1.4246218e-02 +2514 5.036 -1.1154550e-02 -1.4213449e-02 +2515 5.038 -1.1126156e-02 -1.4180734e-02 +2516 5.04 -1.1097827e-02 -1.4148074e-02 +2517 5.042 -1.1069563e-02 -1.4115468e-02 +2518 5.044 -1.1041365e-02 -1.4082917e-02 +2519 5.046 -1.1013232e-02 -1.4050421e-02 +2520 5.048 -1.0985163e-02 -1.4017980e-02 +2521 5.05 -1.0957160e-02 -1.3985594e-02 +2522 5.052 -1.0929221e-02 -1.3953263e-02 +2523 5.054 -1.0901347e-02 -1.3920986e-02 +2524 5.056 -1.0873537e-02 -1.3888765e-02 +2525 5.058 -1.0845792e-02 -1.3856599e-02 +2526 5.06 -1.0818110e-02 -1.3824487e-02 +2527 5.062 -1.0790494e-02 -1.3792431e-02 +2528 5.064 -1.0762941e-02 -1.3760430e-02 +2529 5.066 -1.0735452e-02 -1.3728485e-02 +2530 5.068 -1.0708027e-02 -1.3696594e-02 +2531 5.07 -1.0680665e-02 -1.3664759e-02 +2532 5.072 -1.0653368e-02 -1.3632979e-02 +2533 5.074 -1.0626133e-02 -1.3601254e-02 +2534 5.076 -1.0598963e-02 -1.3569584e-02 +2535 5.078 -1.0571855e-02 -1.3537970e-02 +2536 5.08 -1.0544811e-02 -1.3506411e-02 +2537 5.082 -1.0517829e-02 -1.3474908e-02 +2538 5.084 -1.0490911e-02 -1.3443460e-02 +2539 5.086 -1.0464055e-02 -1.3412067e-02 +2540 5.088 -1.0437263e-02 -1.3380730e-02 +2541 5.09 -1.0410533e-02 -1.3349449e-02 +2542 5.092 -1.0383865e-02 -1.3318222e-02 +2543 5.094 -1.0357260e-02 -1.3287052e-02 +2544 5.096 -1.0330717e-02 -1.3255936e-02 +2545 5.098 -1.0304236e-02 -1.3224877e-02 +2546 5.1 -1.0277817e-02 -1.3193873e-02 +2547 5.102 -1.0251460e-02 -1.3162924e-02 +2548 5.104 -1.0225165e-02 -1.3132031e-02 +2549 5.106 -1.0198932e-02 -1.3101193e-02 +2550 5.108 -1.0172761e-02 -1.3070411e-02 +2551 5.11 -1.0146650e-02 -1.3039685e-02 +2552 5.112 -1.0120602e-02 -1.3009014e-02 +2553 5.114 -1.0094614e-02 -1.2978399e-02 +2554 5.116 -1.0068688e-02 -1.2947840e-02 +2555 5.118 -1.0042823e-02 -1.2917336e-02 +2556 5.12 -1.0017019e-02 -1.2886887e-02 +2557 5.122 -9.9912753e-03 -1.2856495e-02 +2558 5.124 -9.9655927e-03 -1.2826158e-02 +2559 5.126 -9.9399707e-03 -1.2795876e-02 +2560 5.128 -9.9144092e-03 -1.2765650e-02 +2561 5.13 -9.8889080e-03 -1.2735480e-02 +2562 5.132 -9.8634672e-03 -1.2705365e-02 +2563 5.134 -9.8380865e-03 -1.2675306e-02 +2564 5.136 -9.8127659e-03 -1.2645303e-02 +2565 5.138 -9.7875053e-03 -1.2615355e-02 +2566 5.14 -9.7623045e-03 -1.2585463e-02 +2567 5.142 -9.7371634e-03 -1.2555627e-02 +2568 5.144 -9.7120819e-03 -1.2525846e-02 +2569 5.146 -9.6870600e-03 -1.2496120e-02 +2570 5.148 -9.6620974e-03 -1.2466451e-02 +2571 5.15 -9.6371941e-03 -1.2436836e-02 +2572 5.152 -9.6123500e-03 -1.2407278e-02 +2573 5.154 -9.5875650e-03 -1.2377775e-02 +2574 5.156 -9.5628389e-03 -1.2348327e-02 +2575 5.158 -9.5381717e-03 -1.2318935e-02 +2576 5.16 -9.5135631e-03 -1.2289599e-02 +2577 5.162 -9.4890132e-03 -1.2260318e-02 +2578 5.164 -9.4645218e-03 -1.2231092e-02 +2579 5.166 -9.4400888e-03 -1.2201922e-02 +2580 5.168 -9.4157141e-03 -1.2172808e-02 +2581 5.17 -9.3913975e-03 -1.2143748e-02 +2582 5.172 -9.3671391e-03 -1.2114745e-02 +2583 5.174 -9.3429385e-03 -1.2085796e-02 +2584 5.176 -9.3187958e-03 -1.2056904e-02 +2585 5.178 -9.2947109e-03 -1.2028066e-02 +2586 5.18 -9.2706835e-03 -1.1999284e-02 +2587 5.182 -9.2467137e-03 -1.1970557e-02 +2588 5.184 -9.2228013e-03 -1.1941886e-02 +2589 5.186 -9.1989461e-03 -1.1913270e-02 +2590 5.188 -9.1751482e-03 -1.1884709e-02 +2591 5.19 -9.1514073e-03 -1.1856203e-02 +2592 5.192 -9.1277233e-03 -1.1827753e-02 +2593 5.194 -9.1040962e-03 -1.1799357e-02 +2594 5.196 -9.0805258e-03 -1.1771017e-02 +2595 5.198 -9.0570121e-03 -1.1742732e-02 +2596 5.2 -9.0335549e-03 -1.1714503e-02 +2597 5.202 -9.0101541e-03 -1.1686328e-02 +2598 5.204 -8.9868095e-03 -1.1658209e-02 +2599 5.206 -8.9635212e-03 -1.1630144e-02 +2600 5.208 -8.9402889e-03 -1.1602134e-02 +2601 5.21 -8.9171126e-03 -1.1574180e-02 +2602 5.212 -8.8939922e-03 -1.1546280e-02 +2603 5.214 -8.8709275e-03 -1.1518436e-02 +2604 5.216 -8.8479184e-03 -1.1490646e-02 +2605 5.218 -8.8249648e-03 -1.1462911e-02 +2606 5.22 -8.8020667e-03 -1.1435231e-02 +2607 5.222 -8.7792239e-03 -1.1407606e-02 +2608 5.224 -8.7564362e-03 -1.1380036e-02 +2609 5.226 -8.7337037e-03 -1.1352520e-02 +2610 5.228 -8.7110261e-03 -1.1325059e-02 +2611 5.23 -8.6884034e-03 -1.1297653e-02 +2612 5.232 -8.6658355e-03 -1.1270301e-02 +2613 5.234 -8.6433222e-03 -1.1243004e-02 +2614 5.236 -8.6208634e-03 -1.1215761e-02 +2615 5.238 -8.5984591e-03 -1.1188573e-02 +2616 5.24 -8.5761091e-03 -1.1161440e-02 +2617 5.242 -8.5538133e-03 -1.1134361e-02 +2618 5.244 -8.5315716e-03 -1.1107336e-02 +2619 5.246 -8.5093839e-03 -1.1080366e-02 +2620 5.248 -8.4872501e-03 -1.1053450e-02 +2621 5.25 -8.4651701e-03 -1.1026588e-02 +2622 5.252 -8.4431437e-03 -1.0999781e-02 +2623 5.254 -8.4211709e-03 -1.0973027e-02 +2624 5.256 -8.3992516e-03 -1.0946328e-02 +2625 5.258 -8.3773856e-03 -1.0919684e-02 +2626 5.26 -8.3555728e-03 -1.0893093e-02 +2627 5.262 -8.3338132e-03 -1.0866556e-02 +2628 5.264 -8.3121066e-03 -1.0840073e-02 +2629 5.266 -8.2904528e-03 -1.0813644e-02 +2630 5.268 -8.2688519e-03 -1.0787270e-02 +2631 5.27 -8.2473037e-03 -1.0760949e-02 +2632 5.272 -8.2258081e-03 -1.0734681e-02 +2633 5.274 -8.2043650e-03 -1.0708468e-02 +2634 5.276 -8.1829742e-03 -1.0682308e-02 +2635 5.278 -8.1616357e-03 -1.0656202e-02 +2636 5.28 -8.1403494e-03 -1.0630150e-02 +2637 5.282 -8.1191151e-03 -1.0604151e-02 +2638 5.284 -8.0979327e-03 -1.0578206e-02 +2639 5.286 -8.0768022e-03 -1.0552314e-02 +2640 5.288 -8.0557234e-03 -1.0526476e-02 +2641 5.29 -8.0346963e-03 -1.0500691e-02 +2642 5.292 -8.0137206e-03 -1.0474960e-02 +2643 5.294 -7.9927964e-03 -1.0449281e-02 +2644 5.296 -7.9719235e-03 -1.0423656e-02 +2645 5.298 -7.9511017e-03 -1.0398085e-02 +2646 5.3 -7.9303311e-03 -1.0372566e-02 +2647 5.302 -7.9096114e-03 -1.0347101e-02 +2648 5.304 -7.8889427e-03 -1.0321688e-02 +2649 5.306 -7.8683246e-03 -1.0296329e-02 +2650 5.308 -7.8477573e-03 -1.0271022e-02 +2651 5.31 -7.8272405e-03 -1.0245768e-02 +2652 5.312 -7.8067742e-03 -1.0220568e-02 +2653 5.314 -7.7863582e-03 -1.0195420e-02 +2654 5.316 -7.7659925e-03 -1.0170324e-02 +2655 5.318 -7.7456769e-03 -1.0145282e-02 +2656 5.32 -7.7254113e-03 -1.0120292e-02 +2657 5.322 -7.7051957e-03 -1.0095354e-02 +2658 5.324 -7.6850299e-03 -1.0070469e-02 +2659 5.326 -7.6649138e-03 -1.0045637e-02 +2660 5.328 -7.6448473e-03 -1.0020857e-02 +2661 5.33 -7.6248303e-03 -9.9961290e-03 +2662 5.332 -7.6048627e-03 -9.9714535e-03 +2663 5.334 -7.5849445e-03 -9.9468303e-03 +2664 5.336 -7.5650754e-03 -9.9222592e-03 +2665 5.338 -7.5452554e-03 -9.8977403e-03 +2666 5.34 -7.5254844e-03 -9.8732734e-03 +2667 5.342 -7.5057623e-03 -9.8488586e-03 +2668 5.344 -7.4860889e-03 -9.8244956e-03 +2669 5.346 -7.4664642e-03 -9.8001846e-03 +2670 5.348 -7.4468881e-03 -9.7759253e-03 +2671 5.35 -7.4273605e-03 -9.7517178e-03 +2672 5.352 -7.4078812e-03 -9.7275621e-03 +2673 5.354 -7.3884502e-03 -9.7034579e-03 +2674 5.356 -7.3690674e-03 -9.6794054e-03 +2675 5.358 -7.3497326e-03 -9.6554043e-03 +2676 5.36 -7.3304457e-03 -9.6314548e-03 +2677 5.362 -7.3112067e-03 -9.6075566e-03 +2678 5.364 -7.2920155e-03 -9.5837098e-03 +2679 5.366 -7.2728718e-03 -9.5599142e-03 +2680 5.368 -7.2537758e-03 -9.5361699e-03 +2681 5.37 -7.2347271e-03 -9.5124767e-03 +2682 5.372 -7.2157258e-03 -9.4888346e-03 +2683 5.374 -7.1967718e-03 -9.4652435e-03 +2684 5.376 -7.1778648e-03 -9.4417034e-03 +2685 5.378 -7.1590049e-03 -9.4182142e-03 +2686 5.38 -7.1401919e-03 -9.3947759e-03 +2687 5.382 -7.1214258e-03 -9.3713883e-03 +2688 5.384 -7.1027063e-03 -9.3480514e-03 +2689 5.386 -7.0840335e-03 -9.3247651e-03 +2690 5.388 -7.0654072e-03 -9.3015295e-03 +2691 5.39 -7.0468274e-03 -9.2783443e-03 +2692 5.392 -7.0282938e-03 -9.2552097e-03 +2693 5.394 -7.0098065e-03 -9.2321254e-03 +2694 5.396 -6.9913653e-03 -9.2090914e-03 +2695 5.398 -6.9729701e-03 -9.1861076e-03 +2696 5.4 -6.9546208e-03 -9.1631741e-03 +2697 5.402 -6.9363174e-03 -9.1402907e-03 +2698 5.404 -6.9180596e-03 -9.1174573e-03 +2699 5.406 -6.8998475e-03 -9.0946740e-03 +2700 5.408 -6.8816809e-03 -9.0719405e-03 +2701 5.41 -6.8635597e-03 -9.0492570e-03 +2702 5.412 -6.8454838e-03 -9.0266232e-03 +2703 5.414 -6.8274532e-03 -9.0040391e-03 +2704 5.416 -6.8094677e-03 -8.9815047e-03 +2705 5.418 -6.7915271e-03 -8.9590199e-03 +2706 5.42 -6.7736315e-03 -8.9365846e-03 +2707 5.422 -6.7557808e-03 -8.9141987e-03 +2708 5.424 -6.7379747e-03 -8.8918622e-03 +2709 5.426 -6.7202133e-03 -8.8695751e-03 +2710 5.428 -6.7024964e-03 -8.8473372e-03 +2711 5.43 -6.6848239e-03 -8.8251484e-03 +2712 5.432 -6.6671958e-03 -8.8030088e-03 +2713 5.434 -6.6496118e-03 -8.7809182e-03 +2714 5.436 -6.6320721e-03 -8.7588766e-03 +2715 5.438 -6.6145763e-03 -8.7368839e-03 +2716 5.44 -6.5971245e-03 -8.7149400e-03 +2717 5.442 -6.5797165e-03 -8.6930449e-03 +2718 5.444 -6.5623523e-03 -8.6711985e-03 +2719 5.446 -6.5450317e-03 -8.6494007e-03 +2720 5.448 -6.5277546e-03 -8.6276514e-03 +2721 5.45 -6.5105210e-03 -8.6059506e-03 +2722 5.452 -6.4933308e-03 -8.5842982e-03 +2723 5.454 -6.4761838e-03 -8.5626942e-03 +2724 5.456 -6.4590800e-03 -8.5411385e-03 +2725 5.458 -6.4420192e-03 -8.5196309e-03 +2726 5.46 -6.4250014e-03 -8.4981714e-03 +2727 5.462 -6.4080265e-03 -8.4767601e-03 +2728 5.464 -6.3910944e-03 -8.4553967e-03 +2729 5.466 -6.3742049e-03 -8.4340812e-03 +2730 5.468 -6.3573580e-03 -8.4128135e-03 +2731 5.47 -6.3405536e-03 -8.3915936e-03 +2732 5.472 -6.3237916e-03 -8.3704214e-03 +2733 5.474 -6.3070719e-03 -8.3492969e-03 +2734 5.476 -6.2903944e-03 -8.3282198e-03 +2735 5.478 -6.2737590e-03 -8.3071903e-03 +2736 5.48 -6.2571656e-03 -8.2862082e-03 +2737 5.482 -6.2406141e-03 -8.2652734e-03 +2738 5.484 -6.2241045e-03 -8.2443858e-03 +2739 5.486 -6.2076365e-03 -8.2235455e-03 +2740 5.488 -6.1912103e-03 -8.2027522e-03 +2741 5.49 -6.1748255e-03 -8.1820060e-03 +2742 5.492 -6.1584822e-03 -8.1613068e-03 +2743 5.494 -6.1421802e-03 -8.1406545e-03 +2744 5.496 -6.1259195e-03 -8.1200490e-03 +2745 5.498 -6.1097000e-03 -8.0994902e-03 +2746 5.5 -6.0935216e-03 -8.0789781e-03 +2747 5.502 -6.0773841e-03 -8.0585126e-03 +2748 5.504 -6.0612875e-03 -8.0380937e-03 +2749 5.506 -6.0452317e-03 -8.0177211e-03 +2750 5.508 -6.0292166e-03 -7.9973950e-03 +2751 5.51 -6.0132421e-03 -7.9771152e-03 +2752 5.512 -5.9973081e-03 -7.9568816e-03 +2753 5.514 -5.9814145e-03 -7.9366941e-03 +2754 5.516 -5.9655613e-03 -7.9165528e-03 +2755 5.518 -5.9497483e-03 -7.8964574e-03 +2756 5.52 -5.9339754e-03 -7.8764080e-03 +2757 5.522 -5.9182426e-03 -7.8564044e-03 +2758 5.524 -5.9025498e-03 -7.8364466e-03 +2759 5.526 -5.8868968e-03 -7.8165345e-03 +2760 5.528 -5.8712836e-03 -7.7966681e-03 +2761 5.53 -5.8557101e-03 -7.7768472e-03 +2762 5.532 -5.8401762e-03 -7.7570718e-03 +2763 5.534 -5.8246818e-03 -7.7373418e-03 +2764 5.536 -5.8092268e-03 -7.7176572e-03 +2765 5.538 -5.7938111e-03 -7.6980177e-03 +2766 5.54 -5.7784347e-03 -7.6784235e-03 +2767 5.542 -5.7630974e-03 -7.6588744e-03 +2768 5.544 -5.7477991e-03 -7.6393703e-03 +2769 5.546 -5.7325399e-03 -7.6199112e-03 +2770 5.548 -5.7173195e-03 -7.6004969e-03 +2771 5.55 -5.7021378e-03 -7.5811275e-03 +2772 5.552 -5.6869949e-03 -7.5618028e-03 +2773 5.554 -5.6718906e-03 -7.5425227e-03 +2774 5.556 -5.6568248e-03 -7.5232872e-03 +2775 5.558 -5.6417974e-03 -7.5040962e-03 +2776 5.56 -5.6268084e-03 -7.4849497e-03 +2777 5.562 -5.6118576e-03 -7.4658475e-03 +2778 5.564 -5.5969450e-03 -7.4467895e-03 +2779 5.566 -5.5820704e-03 -7.4277758e-03 +2780 5.568 -5.5672338e-03 -7.4088062e-03 +2781 5.57 -5.5524352e-03 -7.3898806e-03 +2782 5.572 -5.5376743e-03 -7.3709990e-03 +2783 5.574 -5.5229511e-03 -7.3521613e-03 +2784 5.576 -5.5082656e-03 -7.3333674e-03 +2785 5.578 -5.4936176e-03 -7.3146172e-03 +2786 5.58 -5.4790071e-03 -7.2959107e-03 +2787 5.582 -5.4644340e-03 -7.2772478e-03 +2788 5.584 -5.4498981e-03 -7.2586285e-03 +2789 5.586 -5.4353994e-03 -7.2400525e-03 +2790 5.588 -5.4209379e-03 -7.2215199e-03 +2791 5.59 -5.4065133e-03 -7.2030306e-03 +2792 5.592 -5.3921257e-03 -7.1845845e-03 +2793 5.594 -5.3777749e-03 -7.1661815e-03 +2794 5.596 -5.3634609e-03 -7.1478216e-03 +2795 5.598 -5.3491836e-03 -7.1295046e-03 +2796 5.6 -5.3349429e-03 -7.1112306e-03 +2797 5.602 -5.3207387e-03 -7.0929994e-03 +2798 5.604 -5.3065709e-03 -7.0748109e-03 +2799 5.606 -5.2924394e-03 -7.0566651e-03 +2800 5.608 -5.2783442e-03 -7.0385619e-03 +2801 5.61 -5.2642851e-03 -7.0205012e-03 +2802 5.612 -5.2502622e-03 -7.0024829e-03 +2803 5.614 -5.2362752e-03 -6.9845070e-03 +2804 5.616 -5.2223241e-03 -6.9665734e-03 +2805 5.618 -5.2084088e-03 -6.9486820e-03 +2806 5.62 -5.1945293e-03 -6.9308327e-03 +2807 5.622 -5.1806855e-03 -6.9130255e-03 +2808 5.624 -5.1668772e-03 -6.8952603e-03 +2809 5.626 -5.1531044e-03 -6.8775370e-03 +2810 5.628 -5.1393670e-03 -6.8598555e-03 +2811 5.63 -5.1256650e-03 -6.8422157e-03 +2812 5.632 -5.1119981e-03 -6.8246176e-03 +2813 5.634 -5.0983665e-03 -6.8070612e-03 +2814 5.636 -5.0847699e-03 -6.7895462e-03 +2815 5.638 -5.0712083e-03 -6.7720727e-03 +2816 5.64 -5.0576816e-03 -6.7546405e-03 +2817 5.642 -5.0441897e-03 -6.7372497e-03 +2818 5.644 -5.0307325e-03 -6.7199000e-03 +2819 5.646 -5.0173100e-03 -6.7025915e-03 +2820 5.648 -5.0039221e-03 -6.6853241e-03 +2821 5.65 -4.9905687e-03 -6.6680976e-03 +2822 5.652 -4.9772497e-03 -6.6509120e-03 +2823 5.654 -4.9639650e-03 -6.6337673e-03 +2824 5.656 -4.9507146e-03 -6.6166633e-03 +2825 5.658 -4.9374984e-03 -6.5996000e-03 +2826 5.66 -4.9243162e-03 -6.5825773e-03 +2827 5.662 -4.9111680e-03 -6.5655951e-03 +2828 5.664 -4.8980538e-03 -6.5486534e-03 +2829 5.666 -4.8849734e-03 -6.5317520e-03 +2830 5.668 -4.8719267e-03 -6.5148909e-03 +2831 5.67 -4.8589138e-03 -6.4980701e-03 +2832 5.672 -4.8459344e-03 -6.4812893e-03 +2833 5.674 -4.8329886e-03 -6.4645487e-03 +2834 5.676 -4.8200762e-03 -6.4478480e-03 +2835 5.678 -4.8071972e-03 -6.4311873e-03 +2836 5.68 -4.7943514e-03 -6.4145663e-03 +2837 5.682 -4.7815389e-03 -6.3979852e-03 +2838 5.684 -4.7687595e-03 -6.3814437e-03 +2839 5.686 -4.7560131e-03 -6.3649418e-03 +2840 5.688 -4.7432997e-03 -6.3484795e-03 +2841 5.69 -4.7306192e-03 -6.3320566e-03 +2842 5.692 -4.7179714e-03 -6.3156730e-03 +2843 5.694 -4.7053564e-03 -6.2993288e-03 +2844 5.696 -4.6927741e-03 -6.2830238e-03 +2845 5.698 -4.6802243e-03 -6.2667580e-03 +2846 5.7 -4.6677070e-03 -6.2505312e-03 +2847 5.702 -4.6552222e-03 -6.2343434e-03 +2848 5.704 -4.6427696e-03 -6.2181946e-03 +2849 5.706 -4.6303494e-03 -6.2020846e-03 +2850 5.708 -4.6179613e-03 -6.1860133e-03 +2851 5.71 -4.6056053e-03 -6.1699808e-03 +2852 5.712 -4.5932813e-03 -6.1539868e-03 +2853 5.714 -4.5809893e-03 -6.1380314e-03 +2854 5.716 -4.5687292e-03 -6.1221145e-03 +2855 5.718 -4.5565008e-03 -6.1062359e-03 +2856 5.72 -4.5443042e-03 -6.0903957e-03 +2857 5.722 -4.5321392e-03 -6.0745937e-03 +2858 5.724 -4.5200058e-03 -6.0588299e-03 +2859 5.726 -4.5079039e-03 -6.0431041e-03 +2860 5.728 -4.4958334e-03 -6.0274164e-03 +2861 5.73 -4.4837942e-03 -6.0117666e-03 +2862 5.732 -4.4717863e-03 -5.9961547e-03 +2863 5.734 -4.4598095e-03 -5.9805805e-03 +2864 5.736 -4.4478639e-03 -5.9650440e-03 +2865 5.738 -4.4359493e-03 -5.9495452e-03 +2866 5.74 -4.4240657e-03 -5.9340840e-03 +2867 5.742 -4.4122130e-03 -5.9186602e-03 +2868 5.744 -4.4003910e-03 -5.9032738e-03 +2869 5.746 -4.3885999e-03 -5.8879248e-03 +2870 5.748 -4.3768393e-03 -5.8726130e-03 +2871 5.75 -4.3651094e-03 -5.8573384e-03 +2872 5.752 -4.3534099e-03 -5.8421010e-03 +2873 5.754 -4.3417409e-03 -5.8269005e-03 +2874 5.756 -4.3301023e-03 -5.8117370e-03 +2875 5.758 -4.3184940e-03 -5.7966104e-03 +2876 5.76 -4.3069159e-03 -5.7815206e-03 +2877 5.762 -4.2953679e-03 -5.7664675e-03 +2878 5.764 -4.2838500e-03 -5.7514511e-03 +2879 5.766 -4.2723620e-03 -5.7364713e-03 +2880 5.768 -4.2609040e-03 -5.7215280e-03 +2881 5.77 -4.2494759e-03 -5.7066211e-03 +2882 5.772 -4.2380775e-03 -5.6917506e-03 +2883 5.774 -4.2267089e-03 -5.6769164e-03 +2884 5.776 -4.2153698e-03 -5.6621184e-03 +2885 5.778 -4.2040604e-03 -5.6473565e-03 +2886 5.78 -4.1927804e-03 -5.6326307e-03 +2887 5.782 -4.1815298e-03 -5.6179409e-03 +2888 5.784 -4.1703086e-03 -5.6032870e-03 +2889 5.786 -4.1591167e-03 -5.5886689e-03 +2890 5.788 -4.1479539e-03 -5.5740866e-03 +2891 5.79 -4.1368203e-03 -5.5595401e-03 +2892 5.792 -4.1257157e-03 -5.5450291e-03 +2893 5.794 -4.1146402e-03 -5.5305537e-03 +2894 5.796 -4.1035935e-03 -5.5161137e-03 +2895 5.798 -4.0925757e-03 -5.5017092e-03 +2896 5.8 -4.0815866e-03 -5.4873400e-03 +2897 5.802 -4.0706263e-03 -5.4730060e-03 +2898 5.804 -4.0596946e-03 -5.4587072e-03 +2899 5.806 -4.0487914e-03 -5.4444435e-03 +2900 5.808 -4.0379168e-03 -5.4302149e-03 +2901 5.81 -4.0270706e-03 -5.4160212e-03 +2902 5.812 -4.0162527e-03 -5.4018624e-03 +2903 5.814 -4.0054631e-03 -5.3877385e-03 +2904 5.816 -3.9947017e-03 -5.3736492e-03 +2905 5.818 -3.9839685e-03 -5.3595947e-03 +2906 5.82 -3.9732633e-03 -5.3455747e-03 +2907 5.822 -3.9625861e-03 -5.3315893e-03 +2908 5.824 -3.9519369e-03 -5.3176383e-03 +2909 5.826 -3.9413156e-03 -5.3037217e-03 +2910 5.828 -3.9307220e-03 -5.2898394e-03 +2911 5.83 -3.9201562e-03 -5.2759913e-03 +2912 5.832 -3.9096180e-03 -5.2621774e-03 +2913 5.834 -3.8991075e-03 -5.2483976e-03 +2914 5.836 -3.8886244e-03 -5.2346518e-03 +2915 5.838 -3.8781688e-03 -5.2209399e-03 +2916 5.84 -3.8677406e-03 -5.2072620e-03 +2917 5.842 -3.8573398e-03 -5.1936178e-03 +2918 5.844 -3.8469661e-03 -5.1800074e-03 +2919 5.846 -3.8366197e-03 -5.1664306e-03 +2920 5.848 -3.8263004e-03 -5.1528874e-03 +2921 5.85 -3.8160081e-03 -5.1393777e-03 +2922 5.852 -3.8057429e-03 -5.1259015e-03 +2923 5.854 -3.7955045e-03 -5.1124586e-03 +2924 5.856 -3.7852930e-03 -5.0990491e-03 +2925 5.858 -3.7751083e-03 -5.0856727e-03 +2926 5.86 -3.7649503e-03 -5.0723296e-03 +2927 5.862 -3.7548189e-03 -5.0590195e-03 +2928 5.864 -3.7447142e-03 -5.0457424e-03 +2929 5.866 -3.7346359e-03 -5.0324983e-03 +2930 5.868 -3.7245842e-03 -5.0192871e-03 +2931 5.87 -3.7145588e-03 -5.0061086e-03 +2932 5.872 -3.7045597e-03 -4.9929629e-03 +2933 5.874 -3.6945869e-03 -4.9798499e-03 +2934 5.876 -3.6846403e-03 -4.9667694e-03 +2935 5.878 -3.6747198e-03 -4.9537215e-03 +2936 5.88 -3.6648254e-03 -4.9407060e-03 +2937 5.882 -3.6549570e-03 -4.9277229e-03 +2938 5.884 -3.6451145e-03 -4.9147722e-03 +2939 5.886 -3.6352978e-03 -4.9018536e-03 +2940 5.888 -3.6255070e-03 -4.8889673e-03 +2941 5.89 -3.6157420e-03 -4.8761130e-03 +2942 5.892 -3.6060026e-03 -4.8632908e-03 +2943 5.894 -3.5962888e-03 -4.8505005e-03 +2944 5.896 -3.5866005e-03 -4.8377422e-03 +2945 5.898 -3.5769378e-03 -4.8250156e-03 +2946 5.9 -3.5673005e-03 -4.8123208e-03 +2947 5.902 -3.5576885e-03 -4.7996577e-03 +2948 5.904 -3.5481018e-03 -4.7870263e-03 +2949 5.906 -3.5385404e-03 -4.7744263e-03 +2950 5.908 -3.5290041e-03 -4.7618579e-03 +2951 5.91 -3.5194929e-03 -4.7493208e-03 +2952 5.912 -3.5100068e-03 -4.7368151e-03 +2953 5.914 -3.5005456e-03 -4.7243407e-03 +2954 5.916 -3.4911094e-03 -4.7118974e-03 +2955 5.918 -3.4816980e-03 -4.6994853e-03 +2956 5.92 -3.4723114e-03 -4.6871043e-03 +2957 5.922 -3.4629496e-03 -4.6747542e-03 +2958 5.924 -3.4536124e-03 -4.6624351e-03 +2959 5.926 -3.4442998e-03 -4.6501469e-03 +2960 5.928 -3.4350118e-03 -4.6378894e-03 +2961 5.93 -3.4257482e-03 -4.6256627e-03 +2962 5.932 -3.4165091e-03 -4.6134666e-03 +2963 5.934 -3.4072943e-03 -4.6013012e-03 +2964 5.936 -3.3981039e-03 -4.5891662e-03 +2965 5.938 -3.3889377e-03 -4.5770617e-03 +2966 5.94 -3.3797956e-03 -4.5649876e-03 +2967 5.942 -3.3706777e-03 -4.5529438e-03 +2968 5.944 -3.3615838e-03 -4.5409302e-03 +2969 5.946 -3.3525139e-03 -4.5289468e-03 +2970 5.948 -3.3434680e-03 -4.5169936e-03 +2971 5.95 -3.3344460e-03 -4.5050704e-03 +2972 5.952 -3.3254477e-03 -4.4931772e-03 +2973 5.954 -3.3164732e-03 -4.4813139e-03 +2974 5.956 -3.3075224e-03 -4.4694804e-03 +2975 5.958 -3.2985953e-03 -4.4576768e-03 +2976 5.96 -3.2896917e-03 -4.4459028e-03 +2977 5.962 -3.2808117e-03 -4.4341585e-03 +2978 5.964 -3.2719551e-03 -4.4224438e-03 +2979 5.966 -3.2631219e-03 -4.4107586e-03 +2980 5.968 -3.2543120e-03 -4.3991029e-03 +2981 5.97 -3.2455254e-03 -4.3874765e-03 +2982 5.972 -3.2367621e-03 -4.3758795e-03 +2983 5.974 -3.2280219e-03 -4.3643117e-03 +2984 5.976 -3.2193048e-03 -4.3527731e-03 +2985 5.978 -3.2106108e-03 -4.3412636e-03 +2986 5.98 -3.2019397e-03 -4.3297832e-03 +2987 5.982 -3.1932916e-03 -4.3183318e-03 +2988 5.984 -3.1846664e-03 -4.3069092e-03 +2989 5.986 -3.1760640e-03 -4.2955156e-03 +2990 5.988 -3.1674843e-03 -4.2841508e-03 +2991 5.99 -3.1589273e-03 -4.2728146e-03 +2992 5.992 -3.1503930e-03 -4.2615072e-03 +2993 5.994 -3.1418813e-03 -4.2502283e-03 +2994 5.996 -3.1333921e-03 -4.2389780e-03 +2995 5.998 -3.1249254e-03 -4.2277562e-03 +2996 6.0 -3.1164811e-03 -4.2165627e-03 +2997 6.002 -3.1080591e-03 -4.2053976e-03 +2998 6.004 -3.0996594e-03 -4.1942608e-03 +2999 6.006 -3.0912820e-03 -4.1831522e-03 +3000 6.008 -3.0829268e-03 -4.1720717e-03 +3001 6.01 -3.0745937e-03 -4.1610194e-03 +3002 6.012 -3.0662827e-03 -4.1499950e-03 +3003 6.014 -3.0579937e-03 -4.1389986e-03 +3004 6.016 -3.0497267e-03 -4.1280301e-03 +3005 6.018 -3.0414816e-03 -4.1170894e-03 +3006 6.02 -3.0332583e-03 -4.1061765e-03 +3007 6.022 -3.0250569e-03 -4.0952913e-03 +3008 6.024 -3.0168771e-03 -4.0844338e-03 +3009 6.026 -3.0087191e-03 -4.0736038e-03 +3010 6.028 -3.0005827e-03 -4.0628013e-03 +3011 6.03 -2.9924679e-03 -4.0520263e-03 +3012 6.032 -2.9843746e-03 -4.0412786e-03 +3013 6.034 -2.9763028e-03 -4.0305583e-03 +3014 6.036 -2.9682523e-03 -4.0198653e-03 +3015 6.038 -2.9602233e-03 -4.0091994e-03 +3016 6.04 -2.9522155e-03 -3.9985607e-03 +3017 6.042 -2.9442290e-03 -3.9879491e-03 +3018 6.044 -2.9362637e-03 -3.9773645e-03 +3019 6.046 -2.9283195e-03 -3.9668068e-03 +3020 6.048 -2.9203965e-03 -3.9562760e-03 +3021 6.05 -2.9124944e-03 -3.9457720e-03 +3022 6.052 -2.9046134e-03 -3.9352948e-03 +3023 6.054 -2.8967532e-03 -3.9248443e-03 +3024 6.056 -2.8889140e-03 -3.9144205e-03 +3025 6.058 -2.8810955e-03 -3.9040232e-03 +3026 6.06 -2.8732979e-03 -3.8936524e-03 +3027 6.062 -2.8655209e-03 -3.8833081e-03 +3028 6.064 -2.8577646e-03 -3.8729902e-03 +3029 6.066 -2.8500289e-03 -3.8626986e-03 +3030 6.068 -2.8423138e-03 -3.8524333e-03 +3031 6.07 -2.8346192e-03 -3.8421942e-03 +3032 6.072 -2.8269450e-03 -3.8319813e-03 +3033 6.074 -2.8192912e-03 -3.8217944e-03 +3034 6.076 -2.8116578e-03 -3.8116336e-03 +3035 6.078 -2.8040447e-03 -3.8014988e-03 +3036 6.08 -2.7964518e-03 -3.7913898e-03 +3037 6.082 -2.7888791e-03 -3.7813067e-03 +3038 6.084 -2.7813265e-03 -3.7712494e-03 +3039 6.086 -2.7737941e-03 -3.7612178e-03 +3040 6.088 -2.7662817e-03 -3.7512119e-03 +3041 6.09 -2.7587892e-03 -3.7412316e-03 +3042 6.092 -2.7513167e-03 -3.7312769e-03 +3043 6.094 -2.7438641e-03 -3.7213476e-03 +3044 6.096 -2.7364313e-03 -3.7114438e-03 +3045 6.098 -2.7290183e-03 -3.7015653e-03 +3046 6.1 -2.7216250e-03 -3.6917121e-03 +3047 6.102 -2.7142514e-03 -3.6818842e-03 +3048 6.104 -2.7068975e-03 -3.6720815e-03 +3049 6.106 -2.6995631e-03 -3.6623039e-03 +3050 6.108 -2.6922482e-03 -3.6525514e-03 +3051 6.11 -2.6849529e-03 -3.6428239e-03 +3052 6.112 -2.6776769e-03 -3.6331214e-03 +3053 6.114 -2.6704204e-03 -3.6234437e-03 +3054 6.116 -2.6631831e-03 -3.6137909e-03 +3055 6.118 -2.6559652e-03 -3.6041629e-03 +3056 6.12 -2.6487665e-03 -3.5945596e-03 +3057 6.122 -2.6415869e-03 -3.5849810e-03 +3058 6.124 -2.6344265e-03 -3.5754269e-03 +3059 6.126 -2.6272852e-03 -3.5658975e-03 +3060 6.128 -2.6201629e-03 -3.5563925e-03 +3061 6.13 -2.6130596e-03 -3.5469119e-03 +3062 6.132 -2.6059753e-03 -3.5374557e-03 +3063 6.134 -2.5989098e-03 -3.5280239e-03 +3064 6.136 -2.5918631e-03 -3.5186163e-03 +3065 6.138 -2.5848353e-03 -3.5092329e-03 +3066 6.14 -2.5778262e-03 -3.4998736e-03 +3067 6.142 -2.5708358e-03 -3.4905384e-03 +3068 6.144 -2.5638640e-03 -3.4812273e-03 +3069 6.146 -2.5569109e-03 -3.4719401e-03 +3070 6.148 -2.5499763e-03 -3.4626769e-03 +3071 6.15 -2.5430601e-03 -3.4534375e-03 +3072 6.152 -2.5361625e-03 -3.4442219e-03 +3073 6.154 -2.5292832e-03 -3.4350301e-03 +3074 6.156 -2.5224224e-03 -3.4258619e-03 +3075 6.158 -2.5155798e-03 -3.4167174e-03 +3076 6.16 -2.5087555e-03 -3.4075965e-03 +3077 6.162 -2.5019494e-03 -3.3984991e-03 +3078 6.164 -2.4951615e-03 -3.3894251e-03 +3079 6.166 -2.4883917e-03 -3.3803746e-03 +3080 6.168 -2.4816399e-03 -3.3713474e-03 +3081 6.17 -2.4749063e-03 -3.3623436e-03 +3082 6.172 -2.4681906e-03 -3.3533629e-03 +3083 6.174 -2.4614928e-03 -3.3444055e-03 +3084 6.176 -2.4548129e-03 -3.3354712e-03 +3085 6.178 -2.4481509e-03 -3.3265599e-03 +3086 6.18 -2.4415067e-03 -3.3176717e-03 +3087 6.182 -2.4348802e-03 -3.3088065e-03 +3088 6.184 -2.4282714e-03 -3.2999641e-03 +3089 6.186 -2.4216803e-03 -3.2911447e-03 +3090 6.188 -2.4151068e-03 -3.2823480e-03 +3091 6.19 -2.4085509e-03 -3.2735741e-03 +3092 6.192 -2.4020125e-03 -3.2648228e-03 +3093 6.194 -2.3954916e-03 -3.2560943e-03 +3094 6.196 -2.3889881e-03 -3.2473883e-03 +3095 6.198 -2.3825020e-03 -3.2387048e-03 +3096 6.2 -2.3760333e-03 -3.2300438e-03 +3097 6.202 -2.3695818e-03 -3.2214052e-03 +3098 6.204 -2.3631477e-03 -3.2127890e-03 +3099 6.206 -2.3567307e-03 -3.2041951e-03 +3100 6.208 -2.3503309e-03 -3.1956235e-03 +3101 6.21 -2.3439482e-03 -3.1870741e-03 +3102 6.212 -2.3375825e-03 -3.1785468e-03 +3103 6.214 -2.3312340e-03 -3.1700416e-03 +3104 6.216 -2.3249024e-03 -3.1615585e-03 +3105 6.218 -2.3185877e-03 -3.1530974e-03 +3106 6.22 -2.3122900e-03 -3.1446582e-03 +3107 6.222 -2.3060091e-03 -3.1362410e-03 +3108 6.224 -2.2997450e-03 -3.1278455e-03 +3109 6.226 -2.2934977e-03 -3.1194718e-03 +3110 6.228 -2.2872671e-03 -3.1111199e-03 +3111 6.23 -2.2810532e-03 -3.1027896e-03 +3112 6.232 -2.2748559e-03 -3.0944810e-03 +3113 6.234 -2.2686752e-03 -3.0861940e-03 +3114 6.236 -2.2625111e-03 -3.0779284e-03 +3115 6.238 -2.2563635e-03 -3.0696843e-03 +3116 6.24 -2.2502324e-03 -3.0614617e-03 +3117 6.242 -2.2441176e-03 -3.0532604e-03 +3118 6.244 -2.2380193e-03 -3.0450804e-03 +3119 6.246 -2.2319373e-03 -3.0369217e-03 +3120 6.248 -2.2258716e-03 -3.0287842e-03 +3121 6.25 -2.2198222e-03 -3.0206679e-03 +3122 6.252 -2.2137889e-03 -3.0125727e-03 +3123 6.254 -2.2077719e-03 -3.0044985e-03 +3124 6.256 -2.2017709e-03 -2.9964453e-03 +3125 6.258 -2.1957861e-03 -2.9884131e-03 +3126 6.26 -2.1898172e-03 -2.9804018e-03 +3127 6.262 -2.1838644e-03 -2.9724113e-03 +3128 6.264 -2.1779276e-03 -2.9644417e-03 +3129 6.266 -2.1720067e-03 -2.9564928e-03 +3130 6.268 -2.1661016e-03 -2.9485646e-03 +3131 6.27 -2.1602124e-03 -2.9406570e-03 +3132 6.272 -2.1543390e-03 -2.9327701e-03 +3133 6.274 -2.1484813e-03 -2.9249036e-03 +3134 6.276 -2.1426393e-03 -2.9170577e-03 +3135 6.278 -2.1368130e-03 -2.9092323e-03 +3136 6.28 -2.1310024e-03 -2.9014272e-03 +3137 6.282 -2.1252073e-03 -2.8936425e-03 +3138 6.284 -2.1194278e-03 -2.8858781e-03 +3139 6.286 -2.1136638e-03 -2.8781339e-03 +3140 6.288 -2.1079153e-03 -2.8704100e-03 +3141 6.29 -2.1021821e-03 -2.8627062e-03 +3142 6.292 -2.0964644e-03 -2.8550225e-03 +3143 6.294 -2.0907620e-03 -2.8473588e-03 +3144 6.296 -2.0850750e-03 -2.8397152e-03 +3145 6.298 -2.0794032e-03 -2.8320915e-03 +3146 6.3 -2.0737466e-03 -2.8244877e-03 +3147 6.302 -2.0681052e-03 -2.8169038e-03 +3148 6.304 -2.0624790e-03 -2.8093396e-03 +3149 6.306 -2.0568678e-03 -2.8017953e-03 +3150 6.308 -2.0512718e-03 -2.7942706e-03 +3151 6.31 -2.0456907e-03 -2.7867656e-03 +3152 6.312 -2.0401247e-03 -2.7792803e-03 +3153 6.314 -2.0345736e-03 -2.7718144e-03 +3154 6.316 -2.0290374e-03 -2.7643682e-03 +3155 6.318 -2.0235161e-03 -2.7569413e-03 +3156 6.32 -2.0180096e-03 -2.7495339e-03 +3157 6.322 -2.0125180e-03 -2.7421459e-03 +3158 6.324 -2.0070410e-03 -2.7347772e-03 +3159 6.326 -2.0015788e-03 -2.7274278e-03 +3160 6.328 -1.9961313e-03 -2.7200976e-03 +3161 6.33 -1.9906984e-03 -2.7127866e-03 +3162 6.332 -1.9852802e-03 -2.7054947e-03 +3163 6.334 -1.9798765e-03 -2.6982220e-03 +3164 6.336 -1.9744873e-03 -2.6909682e-03 +3165 6.338 -1.9691126e-03 -2.6837335e-03 +3166 6.34 -1.9637523e-03 -2.6765177e-03 +3167 6.342 -1.9584065e-03 -2.6693208e-03 +3168 6.344 -1.9530750e-03 -2.6621428e-03 +3169 6.346 -1.9477579e-03 -2.6549836e-03 +3170 6.348 -1.9424551e-03 -2.6478431e-03 +3171 6.35 -1.9371665e-03 -2.6407214e-03 +3172 6.352 -1.9318922e-03 -2.6336183e-03 +3173 6.354 -1.9266320e-03 -2.6265338e-03 +3174 6.356 -1.9213860e-03 -2.6194680e-03 +3175 6.358 -1.9161541e-03 -2.6124206e-03 +3176 6.36 -1.9109363e-03 -2.6053918e-03 +3177 6.362 -1.9057326e-03 -2.5983813e-03 +3178 6.364 -1.9005428e-03 -2.5913893e-03 +3179 6.366 -1.8953670e-03 -2.5844156e-03 +3180 6.368 -1.8902051e-03 -2.5774603e-03 +3181 6.37 -1.8850571e-03 -2.5705232e-03 +3182 6.372 -1.8799230e-03 -2.5636042e-03 +3183 6.374 -1.8748027e-03 -2.5567035e-03 +3184 6.376 -1.8696962e-03 -2.5498209e-03 +3185 6.378 -1.8646034e-03 -2.5429563e-03 +3186 6.38 -1.8595244e-03 -2.5361098e-03 +3187 6.382 -1.8544590e-03 -2.5292813e-03 +3188 6.384 -1.8494072e-03 -2.5224707e-03 +3189 6.386 -1.8443691e-03 -2.5156781e-03 +3190 6.388 -1.8393445e-03 -2.5089032e-03 +3191 6.39 -1.8343334e-03 -2.5021462e-03 +3192 6.392 -1.8293359e-03 -2.4954069e-03 +3193 6.394 -1.8243518e-03 -2.4886854e-03 +3194 6.396 -1.8193811e-03 -2.4819815e-03 +3195 6.398 -1.8144239e-03 -2.4752953e-03 +3196 6.4 -1.8094799e-03 -2.4686267e-03 +3197 6.402 -1.8045494e-03 -2.4619756e-03 +3198 6.404 -1.7996320e-03 -2.4553420e-03 +3199 6.406 -1.7947280e-03 -2.4487258e-03 +3200 6.408 -1.7898371e-03 -2.4421271e-03 +3201 6.41 -1.7849595e-03 -2.4355457e-03 +3202 6.412 -1.7800949e-03 -2.4289817e-03 +3203 6.414 -1.7752435e-03 -2.4224349e-03 +3204 6.416 -1.7704052e-03 -2.4159054e-03 +3205 6.418 -1.7655799e-03 -2.4093931e-03 +3206 6.42 -1.7607676e-03 -2.4028979e-03 +3207 6.422 -1.7559683e-03 -2.3964199e-03 +3208 6.424 -1.7511819e-03 -2.3899589e-03 +3209 6.426 -1.7464084e-03 -2.3835149e-03 +3210 6.428 -1.7416478e-03 -2.3770879e-03 +3211 6.43 -1.7369001e-03 -2.3706779e-03 +3212 6.432 -1.7321651e-03 -2.3642847e-03 +3213 6.434 -1.7274429e-03 -2.3579085e-03 +3214 6.436 -1.7227335e-03 -2.3515490e-03 +3215 6.438 -1.7180367e-03 -2.3452063e-03 +3216 6.44 -1.7133526e-03 -2.3388803e-03 +3217 6.442 -1.7086812e-03 -2.3325710e-03 +3218 6.444 -1.7040223e-03 -2.3262783e-03 +3219 6.446 -1.6993761e-03 -2.3200023e-03 +3220 6.448 -1.6947423e-03 -2.3137428e-03 +3221 6.45 -1.6901211e-03 -2.3074998e-03 +3222 6.452 -1.6855123e-03 -2.3012733e-03 +3223 6.454 -1.6809160e-03 -2.2950633e-03 +3224 6.456 -1.6763320e-03 -2.2888696e-03 +3225 6.458 -1.6717605e-03 -2.2826923e-03 +3226 6.46 -1.6672013e-03 -2.2765313e-03 +3227 6.462 -1.6626543e-03 -2.2703866e-03 +3228 6.464 -1.6581197e-03 -2.2642581e-03 +3229 6.466 -1.6535973e-03 -2.2581458e-03 +3230 6.468 -1.6490871e-03 -2.2520497e-03 +3231 6.47 -1.6445891e-03 -2.2459696e-03 +3232 6.472 -1.6401032e-03 -2.2399056e-03 +3233 6.474 -1.6356295e-03 -2.2338577e-03 +3234 6.476 -1.6311678e-03 -2.2278257e-03 +3235 6.478 -1.6267181e-03 -2.2218097e-03 +3236 6.48 -1.6222805e-03 -2.2158096e-03 +3237 6.482 -1.6178549e-03 -2.2098253e-03 +3238 6.484 -1.6134412e-03 -2.2038569e-03 +3239 6.486 -1.6090395e-03 -2.1979043e-03 +3240 6.488 -1.6046496e-03 -2.1919674e-03 +3241 6.49 -1.6002716e-03 -2.1860462e-03 +3242 6.492 -1.5959054e-03 -2.1801407e-03 +3243 6.494 -1.5915510e-03 -2.1742508e-03 +3244 6.496 -1.5872084e-03 -2.1683765e-03 +3245 6.498 -1.5828775e-03 -2.1625177e-03 +3246 6.5 -1.5785583e-03 -2.1566745e-03 +3247 6.502 -1.5742508e-03 -2.1508467e-03 +3248 6.504 -1.5699549e-03 -2.1450344e-03 +3249 6.506 -1.5656706e-03 -2.1392374e-03 +3250 6.508 -1.5613979e-03 -2.1334558e-03 +3251 6.51 -1.5571368e-03 -2.1276895e-03 +3252 6.512 -1.5528872e-03 -2.1219385e-03 +3253 6.514 -1.5486490e-03 -2.1162027e-03 +3254 6.516 -1.5444223e-03 -2.1104821e-03 +3255 6.518 -1.5402071e-03 -2.1047767e-03 +3256 6.52 -1.5360032e-03 -2.0990864e-03 +3257 6.522 -1.5318107e-03 -2.0934112e-03 +3258 6.524 -1.5276296e-03 -2.0877510e-03 +3259 6.526 -1.5234597e-03 -2.0821058e-03 +3260 6.528 -1.5193011e-03 -2.0764756e-03 +3261 6.53 -1.5151538e-03 -2.0708603e-03 +3262 6.532 -1.5110177e-03 -2.0652599e-03 +3263 6.534 -1.5068928e-03 -2.0596744e-03 +3264 6.536 -1.5027790e-03 -2.0541037e-03 +3265 6.538 -1.4986763e-03 -2.0485477e-03 +3266 6.54 -1.4945848e-03 -2.0430065e-03 +3267 6.542 -1.4905043e-03 -2.0374800e-03 +3268 6.544 -1.4864349e-03 -2.0319682e-03 +3269 6.546 -1.4823764e-03 -2.0264710e-03 +3270 6.548 -1.4783290e-03 -2.0209884e-03 +3271 6.55 -1.4742925e-03 -2.0155203e-03 +3272 6.552 -1.4702669e-03 -2.0100668e-03 +3273 6.554 -1.4662522e-03 -2.0046277e-03 +3274 6.556 -1.4622484e-03 -1.9992031e-03 +3275 6.558 -1.4582554e-03 -1.9937928e-03 +3276 6.56 -1.4542732e-03 -1.9883970e-03 +3277 6.562 -1.4503018e-03 -1.9830155e-03 +3278 6.564 -1.4463411e-03 -1.9776483e-03 +3279 6.566 -1.4423912e-03 -1.9722953e-03 +3280 6.568 -1.4384519e-03 -1.9669566e-03 +3281 6.57 -1.4345233e-03 -1.9616320e-03 +3282 6.572 -1.4306054e-03 -1.9563216e-03 +3283 6.574 -1.4266980e-03 -1.9510253e-03 +3284 6.576 -1.4228013e-03 -1.9457431e-03 +3285 6.578 -1.4189150e-03 -1.9404750e-03 +3286 6.58 -1.4150394e-03 -1.9352208e-03 +3287 6.582 -1.4111742e-03 -1.9299806e-03 +3288 6.584 -1.4073194e-03 -1.9247544e-03 +3289 6.586 -1.4034751e-03 -1.9195420e-03 +3290 6.588 -1.3996412e-03 -1.9143435e-03 +3291 6.59 -1.3958177e-03 -1.9091589e-03 +3292 6.592 -1.3920046e-03 -1.9039880e-03 +3293 6.594 -1.3882018e-03 -1.8988309e-03 +3294 6.596 -1.3844093e-03 -1.8936875e-03 +3295 6.598 -1.3806270e-03 -1.8885578e-03 +3296 6.6 -1.3768550e-03 -1.8834418e-03 +3297 6.602 -1.3730932e-03 -1.8783393e-03 +3298 6.604 -1.3693417e-03 -1.8732505e-03 +3299 6.606 -1.3656002e-03 -1.8681752e-03 +3300 6.608 -1.3618689e-03 -1.8631134e-03 +3301 6.61 -1.3581478e-03 -1.8580651e-03 +3302 6.612 -1.3544367e-03 -1.8530302e-03 +3303 6.614 -1.3507356e-03 -1.8480088e-03 +3304 6.616 -1.3470446e-03 -1.8430007e-03 +3305 6.618 -1.3433636e-03 -1.8380059e-03 +3306 6.62 -1.3396926e-03 -1.8330245e-03 +3307 6.622 -1.3360315e-03 -1.8280563e-03 +3308 6.624 -1.3323804e-03 -1.8231014e-03 +3309 6.626 -1.3287391e-03 -1.8181597e-03 +3310 6.628 -1.3251077e-03 -1.8132312e-03 +3311 6.63 -1.3214862e-03 -1.8083157e-03 +3312 6.632 -1.3178744e-03 -1.8034134e-03 +3313 6.634 -1.3142725e-03 -1.7985242e-03 +3314 6.636 -1.3106803e-03 -1.7936480e-03 +3315 6.638 -1.3070979e-03 -1.7887848e-03 +3316 6.64 -1.3035252e-03 -1.7839345e-03 +3317 6.642 -1.2999622e-03 -1.7790972e-03 +3318 6.644 -1.2964088e-03 -1.7742728e-03 +3319 6.646 -1.2928651e-03 -1.7694613e-03 +3320 6.648 -1.2893309e-03 -1.7646626e-03 +3321 6.65 -1.2858064e-03 -1.7598767e-03 +3322 6.652 -1.2822914e-03 -1.7551036e-03 +3323 6.654 -1.2787860e-03 -1.7503432e-03 +3324 6.656 -1.2752900e-03 -1.7455955e-03 +3325 6.658 -1.2718036e-03 -1.7408605e-03 +3326 6.66 -1.2683266e-03 -1.7361381e-03 +3327 6.662 -1.2648590e-03 -1.7314283e-03 +3328 6.664 -1.2614009e-03 -1.7267311e-03 +3329 6.666 -1.2579521e-03 -1.7220465e-03 +3330 6.668 -1.2545127e-03 -1.7173743e-03 +3331 6.67 -1.2510826e-03 -1.7127146e-03 +3332 6.672 -1.2476618e-03 -1.7080674e-03 +3333 6.674 -1.2442503e-03 -1.7034326e-03 +3334 6.676 -1.2408481e-03 -1.6988102e-03 +3335 6.678 -1.2374551e-03 -1.6942001e-03 +3336 6.68 -1.2340713e-03 -1.6896023e-03 +3337 6.682 -1.2306966e-03 -1.6850168e-03 +3338 6.684 -1.2273312e-03 -1.6804436e-03 +3339 6.686 -1.2239749e-03 -1.6758825e-03 +3340 6.688 -1.2206277e-03 -1.6713337e-03 +3341 6.69 -1.2172895e-03 -1.6667970e-03 +3342 6.692 -1.2139605e-03 -1.6622725e-03 +3343 6.694 -1.2106404e-03 -1.6577600e-03 +3344 6.696 -1.2073294e-03 -1.6532596e-03 +3345 6.698 -1.2040274e-03 -1.6487713e-03 +3346 6.7 -1.2007343e-03 -1.6442949e-03 +3347 6.702 -1.1974502e-03 -1.6398305e-03 +3348 6.704 -1.1941750e-03 -1.6353781e-03 +3349 6.706 -1.1909087e-03 -1.6309376e-03 +3350 6.708 -1.1876512e-03 -1.6265089e-03 +3351 6.71 -1.1844026e-03 -1.6220921e-03 +3352 6.712 -1.1811629e-03 -1.6176871e-03 +3353 6.714 -1.1779319e-03 -1.6132939e-03 +3354 6.716 -1.1747097e-03 -1.6089124e-03 +3355 6.718 -1.1714962e-03 -1.6045427e-03 +3356 6.72 -1.1682915e-03 -1.6001846e-03 +3357 6.722 -1.1650955e-03 -1.5958383e-03 +3358 6.724 -1.1619081e-03 -1.5915035e-03 +3359 6.726 -1.1587294e-03 -1.5871804e-03 +3360 6.728 -1.1555594e-03 -1.5828688e-03 +3361 6.73 -1.1523980e-03 -1.5785688e-03 +3362 6.732 -1.1492451e-03 -1.5742803e-03 +3363 6.734 -1.1461008e-03 -1.5700032e-03 +3364 6.736 -1.1429651e-03 -1.5657376e-03 +3365 6.738 -1.1398379e-03 -1.5614835e-03 +3366 6.74 -1.1367192e-03 -1.5572407e-03 +3367 6.742 -1.1336089e-03 -1.5530093e-03 +3368 6.744 -1.1305071e-03 -1.5487893e-03 +3369 6.746 -1.1274137e-03 -1.5445805e-03 +3370 6.748 -1.1243288e-03 -1.5403830e-03 +3371 6.75 -1.1212522e-03 -1.5361968e-03 +3372 6.752 -1.1181840e-03 -1.5320218e-03 +3373 6.754 -1.1151241e-03 -1.5278580e-03 +3374 6.756 -1.1120725e-03 -1.5237053e-03 +3375 6.758 -1.1090293e-03 -1.5195638e-03 +3376 6.76 -1.1059943e-03 -1.5154333e-03 +3377 6.762 -1.1029675e-03 -1.5113140e-03 +3378 6.764 -1.0999490e-03 -1.5072056e-03 +3379 6.766 -1.0969387e-03 -1.5031083e-03 +3380 6.768 -1.0939366e-03 -1.4990220e-03 +3381 6.77 -1.0909426e-03 -1.4949466e-03 +3382 6.772 -1.0879568e-03 -1.4908822e-03 +3383 6.774 -1.0849791e-03 -1.4868287e-03 +3384 6.776 -1.0820095e-03 -1.4827860e-03 +3385 6.778 -1.0790479e-03 -1.4787542e-03 +3386 6.78 -1.0760944e-03 -1.4747332e-03 +3387 6.782 -1.0731490e-03 -1.4707230e-03 +3388 6.784 -1.0702115e-03 -1.4667235e-03 +3389 6.786 -1.0672821e-03 -1.4627348e-03 +3390 6.788 -1.0643606e-03 -1.4587568e-03 +3391 6.79 -1.0614471e-03 -1.4547894e-03 +3392 6.792 -1.0585414e-03 -1.4508327e-03 +3393 6.794 -1.0556437e-03 -1.4468866e-03 +3394 6.796 -1.0527539e-03 -1.4429511e-03 +3395 6.798 -1.0498719e-03 -1.4390262e-03 +3396 6.8 -1.0469978e-03 -1.4351118e-03 +3397 6.802 -1.0441314e-03 -1.4312079e-03 +3398 6.804 -1.0412729e-03 -1.4273145e-03 +3399 6.806 -1.0384222e-03 -1.4234316e-03 +3400 6.808 -1.0355792e-03 -1.4195591e-03 +3401 6.81 -1.0327439e-03 -1.4156970e-03 +3402 6.812 -1.0299164e-03 -1.4118452e-03 +3403 6.814 -1.0270966e-03 -1.4080038e-03 +3404 6.816 -1.0242844e-03 -1.4041727e-03 +3405 6.818 -1.0214799e-03 -1.4003519e-03 +3406 6.82 -1.0186830e-03 -1.3965414e-03 +3407 6.822 -1.0158937e-03 -1.3927411e-03 +3408 6.824 -1.0131120e-03 -1.3889510e-03 +3409 6.826 -1.0103379e-03 -1.3851711e-03 +3410 6.828 -1.0075713e-03 -1.3814014e-03 +3411 6.83 -1.0048123e-03 -1.3776418e-03 +3412 6.832 -1.0020607e-03 -1.3738923e-03 +3413 6.834 -9.9931668e-04 -1.3701529e-03 +3414 6.836 -9.9658011e-04 -1.3664235e-03 +3415 6.838 -9.9385098e-04 -1.3627042e-03 +3416 6.84 -9.9112928e-04 -1.3589948e-03 +3417 6.842 -9.8841499e-04 -1.3552954e-03 +3418 6.844 -9.8570809e-04 -1.3516060e-03 +3419 6.846 -9.8300856e-04 -1.3479265e-03 +3420 6.848 -9.8031638e-04 -1.3442569e-03 +3421 6.85 -9.7763153e-04 -1.3405972e-03 +3422 6.852 -9.7495399e-04 -1.3369473e-03 +3423 6.854 -9.7228373e-04 -1.3333072e-03 +3424 6.856 -9.6962075e-04 -1.3296769e-03 +3425 6.858 -9.6696502e-04 -1.3260563e-03 +3426 6.86 -9.6431652e-04 -1.3224456e-03 +3427 6.862 -9.6167523e-04 -1.3188445e-03 +3428 6.864 -9.5904114e-04 -1.3152531e-03 +3429 6.866 -9.5641421e-04 -1.3116714e-03 +3430 6.868 -9.5379444e-04 -1.3080993e-03 +3431 6.87 -9.5118181e-04 -1.3045368e-03 +3432 6.872 -9.4857629e-04 -1.3009840e-03 +3433 6.874 -9.4597787e-04 -1.2974406e-03 +3434 6.876 -9.4338652e-04 -1.2939069e-03 +3435 6.878 -9.4080223e-04 -1.2903826e-03 +3436 6.88 -9.3822498e-04 -1.2868678e-03 +3437 6.882 -9.3565476e-04 -1.2833625e-03 +3438 6.884 -9.3309153e-04 -1.2798666e-03 +3439 6.886 -9.3053528e-04 -1.2763801e-03 +3440 6.888 -9.2798600e-04 -1.2729031e-03 +3441 6.89 -9.2544366e-04 -1.2694354e-03 +3442 6.892 -9.2290825e-04 -1.2659770e-03 +3443 6.894 -9.2037975e-04 -1.2625279e-03 +3444 6.896 -9.1785814e-04 -1.2590881e-03 +3445 6.898 -9.1534339e-04 -1.2556576e-03 +3446 6.9 -9.1283550e-04 -1.2522364e-03 +3447 6.902 -9.1033444e-04 -1.2488243e-03 +3448 6.904 -9.0784020e-04 -1.2454215e-03 +3449 6.906 -9.0535275e-04 -1.2420278e-03 +3450 6.908 -9.0287208e-04 -1.2386432e-03 +3451 6.91 -9.0039817e-04 -1.2352678e-03 +3452 6.912 -8.9793100e-04 -1.2319015e-03 +3453 6.914 -8.9547056e-04 -1.2285442e-03 +3454 6.916 -8.9301682e-04 -1.2251960e-03 +3455 6.918 -8.9056977e-04 -1.2218568e-03 +3456 6.92 -8.8812938e-04 -1.2185266e-03 +3457 6.922 -8.8569565e-04 -1.2152054e-03 +3458 6.924 -8.8326856e-04 -1.2118932e-03 +3459 6.926 -8.8084808e-04 -1.2085899e-03 +3460 6.928 -8.7843419e-04 -1.2052954e-03 +3461 6.93 -8.7602689e-04 -1.2020099e-03 +3462 6.932 -8.7362615e-04 -1.1987332e-03 +3463 6.934 -8.7123195e-04 -1.1954654e-03 +3464 6.936 -8.6884428e-04 -1.1922064e-03 +3465 6.938 -8.6646312e-04 -1.1889561e-03 +3466 6.94 -8.6408845e-04 -1.1857147e-03 +3467 6.942 -8.6172025e-04 -1.1824819e-03 +3468 6.944 -8.5935851e-04 -1.1792579e-03 +3469 6.946 -8.5700322e-04 -1.1760426e-03 +3470 6.948 -8.5465434e-04 -1.1728360e-03 +3471 6.95 -8.5231187e-04 -1.1696380e-03 +3472 6.952 -8.4997578e-04 -1.1664486e-03 +3473 6.954 -8.4764607e-04 -1.1632679e-03 +3474 6.956 -8.4532270e-04 -1.1600957e-03 +3475 6.958 -8.4300568e-04 -1.1569321e-03 +3476 6.96 -8.4069497e-04 -1.1537770e-03 +3477 6.962 -8.3839056e-04 -1.1506305e-03 +3478 6.964 -8.3609244e-04 -1.1474924e-03 +3479 6.966 -8.3380059e-04 -1.1443628e-03 +3480 6.968 -8.3151498e-04 -1.1412417e-03 +3481 6.97 -8.2923562e-04 -1.1381290e-03 +3482 6.972 -8.2696246e-04 -1.1350247e-03 +3483 6.974 -8.2469551e-04 -1.1319287e-03 +3484 6.976 -8.2243474e-04 -1.1288412e-03 +3485 6.978 -8.2018014e-04 -1.1257619e-03 +3486 6.98 -8.1793169e-04 -1.1226910e-03 +3487 6.982 -8.1568937e-04 -1.1196284e-03 +3488 6.984 -8.1345317e-04 -1.1165740e-03 +3489 6.986 -8.1122307e-04 -1.1135279e-03 +3490 6.988 -8.0899905e-04 -1.1104900e-03 +3491 6.99 -8.0678110e-04 -1.1074603e-03 +3492 6.992 -8.0456921e-04 -1.1044388e-03 +3493 6.994 -8.0236334e-04 -1.1014255e-03 +3494 6.996 -8.0016350e-04 -1.0984203e-03 +3495 6.998 -7.9796966e-04 -1.0954232e-03 +3496 7.0 -7.9578180e-04 -1.0924343e-03 +3497 7.002 -7.9359991e-04 -1.0894534e-03 +3498 7.004 -7.9142398e-04 -1.0864805e-03 +3499 7.006 -7.8925399e-04 -1.0835157e-03 +3500 7.008 -7.8708991e-04 -1.0805589e-03 +3501 7.01 -7.8493175e-04 -1.0776101e-03 +3502 7.012 -7.8277947e-04 -1.0746693e-03 +3503 7.014 -7.8063306e-04 -1.0717364e-03 +3504 7.016 -7.7849252e-04 -1.0688114e-03 +3505 7.018 -7.7635781e-04 -1.0658944e-03 +3506 7.02 -7.7422893e-04 -1.0629852e-03 +3507 7.022 -7.7210587e-04 -1.0600839e-03 +3508 7.024 -7.6998859e-04 -1.0571904e-03 +3509 7.026 -7.6787710e-04 -1.0543048e-03 +3510 7.028 -7.6577137e-04 -1.0514270e-03 +3511 7.03 -7.6367139e-04 -1.0485569e-03 +3512 7.032 -7.6157714e-04 -1.0456946e-03 +3513 7.034 -7.5948860e-04 -1.0428401e-03 +3514 7.036 -7.5740577e-04 -1.0399932e-03 +3515 7.038 -7.5532862e-04 -1.0371541e-03 +3516 7.04 -7.5325715e-04 -1.0343226e-03 +3517 7.042 -7.5119133e-04 -1.0314988e-03 +3518 7.044 -7.4913115e-04 -1.0286827e-03 +3519 7.046 -7.4707659e-04 -1.0258741e-03 +3520 7.048 -7.4502765e-04 -1.0230732e-03 +3521 7.05 -7.4298430e-04 -1.0202798e-03 +3522 7.052 -7.4094652e-04 -1.0174940e-03 +3523 7.054 -7.3891431e-04 -1.0147158e-03 +3524 7.056 -7.3688765e-04 -1.0119450e-03 +3525 7.058 -7.3486653e-04 -1.0091818e-03 +3526 7.06 -7.3285092e-04 -1.0064260e-03 +3527 7.062 -7.3084082e-04 -1.0036777e-03 +3528 7.064 -7.2883621e-04 -1.0009368e-03 +3529 7.066 -7.2683707e-04 -9.9820331e-04 +3530 7.068 -7.2484339e-04 -9.9547725e-04 +3531 7.07 -7.2285515e-04 -9.9275856e-04 +3532 7.072 -7.2087235e-04 -9.9004724e-04 +3533 7.074 -7.1889496e-04 -9.8734325e-04 +3534 7.076 -7.1692297e-04 -9.8464659e-04 +3535 7.078 -7.1495637e-04 -9.8195722e-04 +3536 7.08 -7.1299514e-04 -9.7927513e-04 +3537 7.082 -7.1103926e-04 -9.7660031e-04 +3538 7.084 -7.0908873e-04 -9.7393273e-04 +3539 7.086 -7.0714353e-04 -9.7127238e-04 +3540 7.088 -7.0520364e-04 -9.6861922e-04 +3541 7.09 -7.0326905e-04 -9.6597325e-04 +3542 7.092 -7.0133974e-04 -9.6333445e-04 +3543 7.094 -6.9941570e-04 -9.6070280e-04 +3544 7.096 -6.9749692e-04 -9.5807827e-04 +3545 7.098 -6.9558339e-04 -9.5546085e-04 +3546 7.1 -6.9367508e-04 -9.5285052e-04 +3547 7.102 -6.9177198e-04 -9.5024727e-04 +3548 7.104 -6.8987408e-04 -9.4765106e-04 +3549 7.106 -6.8798137e-04 -9.4506189e-04 +3550 7.108 -6.8609383e-04 -9.4247973e-04 +3551 7.11 -6.8421145e-04 -9.3990457e-04 +3552 7.112 -6.8233421e-04 -9.3733639e-04 +3553 7.114 -6.8046210e-04 -9.3477516e-04 +3554 7.116 -6.7859510e-04 -9.3222088e-04 +3555 7.118 -6.7673321e-04 -9.2967352e-04 +3556 7.12 -6.7487640e-04 -9.2713306e-04 +3557 7.122 -6.7302467e-04 -9.2459948e-04 +3558 7.124 -6.7117800e-04 -9.2207278e-04 +3559 7.126 -6.6933638e-04 -9.1955292e-04 +3560 7.128 -6.6749978e-04 -9.1703989e-04 +3561 7.13 -6.6566821e-04 -9.1453367e-04 +3562 7.132 -6.6384165e-04 -9.1203425e-04 +3563 7.134 -6.6202007e-04 -9.0954160e-04 +3564 7.136 -6.6020347e-04 -9.0705571e-04 +3565 7.138 -6.5839184e-04 -9.0457656e-04 +3566 7.14 -6.5658516e-04 -9.0210413e-04 +3567 7.142 -6.5478342e-04 -8.9963841e-04 +3568 7.144 -6.5298661e-04 -8.9717937e-04 +3569 7.146 -6.5119470e-04 -8.9472700e-04 +3570 7.148 -6.4940769e-04 -8.9228128e-04 +3571 7.15 -6.4762557e-04 -8.8984219e-04 +3572 7.152 -6.4584832e-04 -8.8740971e-04 +3573 7.154 -6.4407593e-04 -8.8498384e-04 +3574 7.156 -6.4230838e-04 -8.8256454e-04 +3575 7.158 -6.4054567e-04 -8.8015180e-04 +3576 7.16 -6.3878777e-04 -8.7774561e-04 +3577 7.162 -6.3703468e-04 -8.7534595e-04 +3578 7.164 -6.3528638e-04 -8.7295279e-04 +3579 7.166 -6.3354286e-04 -8.7056613e-04 +3580 7.168 -6.3180411e-04 -8.6818595e-04 +3581 7.17 -6.3007011e-04 -8.6581222e-04 +3582 7.172 -6.2834086e-04 -8.6344493e-04 +3583 7.174 -6.2661633e-04 -8.6108406e-04 +3584 7.176 -6.2489652e-04 -8.5872960e-04 +3585 7.178 -6.2318141e-04 -8.5638153e-04 +3586 7.18 -6.2147099e-04 -8.5403983e-04 +3587 7.182 -6.1976524e-04 -8.5170448e-04 +3588 7.184 -6.1806417e-04 -8.4937548e-04 +3589 7.186 -6.1636774e-04 -8.4705279e-04 +3590 7.188 -6.1467595e-04 -8.4473641e-04 +3591 7.19 -6.1298879e-04 -8.4242631e-04 +3592 7.192 -6.1130624e-04 -8.4012249e-04 +3593 7.194 -6.0962829e-04 -8.3782492e-04 +3594 7.196 -6.0795494e-04 -8.3553358e-04 +3595 7.198 -6.0628616e-04 -8.3324847e-04 +3596 7.2 -6.0462194e-04 -8.3096956e-04 +3597 7.202 -6.0296227e-04 -8.2869684e-04 +3598 7.204 -6.0130715e-04 -8.2643028e-04 +3599 7.206 -5.9965655e-04 -8.2416988e-04 +3600 7.208 -5.9801046e-04 -8.2191562e-04 +3601 7.21 -5.9636888e-04 -8.1966748e-04 +3602 7.212 -5.9473179e-04 -8.1742544e-04 +3603 7.214 -5.9309918e-04 -8.1518950e-04 +3604 7.216 -5.9147103e-04 -8.1295962e-04 +3605 7.218 -5.8984733e-04 -8.1073580e-04 +3606 7.22 -5.8822808e-04 -8.0851802e-04 +3607 7.222 -5.8661326e-04 -8.0630626e-04 +3608 7.224 -5.8500285e-04 -8.0410051e-04 +3609 7.226 -5.8339685e-04 -8.0190076e-04 +3610 7.228 -5.8179524e-04 -7.9970697e-04 +3611 7.23 -5.8019802e-04 -7.9751915e-04 +3612 7.232 -5.7860516e-04 -7.9533727e-04 +3613 7.234 -5.7701667e-04 -7.9316132e-04 +3614 7.236 -5.7543251e-04 -7.9099127e-04 +3615 7.238 -5.7385270e-04 -7.8882713e-04 +3616 7.24 -5.7227720e-04 -7.8666886e-04 +3617 7.242 -5.7070602e-04 -7.8451646e-04 +3618 7.244 -5.6913913e-04 -7.8236991e-04 +3619 7.246 -5.6757653e-04 -7.8022919e-04 +3620 7.248 -5.6601821e-04 -7.7809428e-04 +3621 7.25 -5.6446415e-04 -7.7596518e-04 +3622 7.252 -5.6291435e-04 -7.7384186e-04 +3623 7.254 -5.6136878e-04 -7.7172432e-04 +3624 7.256 -5.5982745e-04 -7.6961253e-04 +3625 7.258 -5.5829033e-04 -7.6750648e-04 +3626 7.26 -5.5675742e-04 -7.6540615e-04 +3627 7.262 -5.5522870e-04 -7.6331153e-04 +3628 7.264 -5.5370417e-04 -7.6122261e-04 +3629 7.266 -5.5218381e-04 -7.5913936e-04 +3630 7.268 -5.5066761e-04 -7.5706178e-04 +3631 7.27 -5.4915555e-04 -7.5498984e-04 +3632 7.272 -5.4764764e-04 -7.5292354e-04 +3633 7.274 -5.4614386e-04 -7.5086286e-04 +3634 7.276 -5.4464419e-04 -7.4880777e-04 +3635 7.278 -5.4314862e-04 -7.4675828e-04 +3636 7.28 -5.4165715e-04 -7.4471436e-04 +3637 7.282 -5.4016976e-04 -7.4267599e-04 +3638 7.284 -5.3868644e-04 -7.4064317e-04 +3639 7.286 -5.3720718e-04 -7.3861588e-04 +3640 7.288 -5.3573198e-04 -7.3659410e-04 +3641 7.29 -5.3426080e-04 -7.3457782e-04 +3642 7.292 -5.3279366e-04 -7.3256702e-04 +3643 7.294 -5.3133053e-04 -7.3056169e-04 +3644 7.296 -5.2987141e-04 -7.2856181e-04 +3645 7.298 -5.2841628e-04 -7.2656738e-04 +3646 7.3 -5.2696514e-04 -7.2457836e-04 +3647 7.302 -5.2551796e-04 -7.2259476e-04 +3648 7.304 -5.2407475e-04 -7.2061656e-04 +3649 7.306 -5.2263549e-04 -7.1864373e-04 +3650 7.308 -5.2120018e-04 -7.1667628e-04 +3651 7.31 -5.1976879e-04 -7.1471417e-04 +3652 7.312 -5.1834132e-04 -7.1275740e-04 +3653 7.314 -5.1691775e-04 -7.1080596e-04 +3654 7.316 -5.1549809e-04 -7.0885983e-04 +3655 7.318 -5.1408231e-04 -7.0691899e-04 +3656 7.32 -5.1267041e-04 -7.0498343e-04 +3657 7.322 -5.1126237e-04 -7.0305314e-04 +3658 7.324 -5.0985819e-04 -7.0112810e-04 +3659 7.326 -5.0845786e-04 -6.9920830e-04 +3660 7.328 -5.0706136e-04 -6.9729373e-04 +3661 7.33 -5.0566868e-04 -6.9538436e-04 +3662 7.332 -5.0427982e-04 -6.9348019e-04 +3663 7.334 -5.0289475e-04 -6.9158121e-04 +3664 7.336 -5.0151349e-04 -6.8968739e-04 +3665 7.338 -5.0013600e-04 -6.8779872e-04 +3666 7.34 -4.9876229e-04 -6.8591520e-04 +3667 7.342 -4.9739234e-04 -6.8403681e-04 +3668 7.344 -4.9602614e-04 -6.8216352e-04 +3669 7.346 -4.9466368e-04 -6.8029534e-04 +3670 7.348 -4.9330495e-04 -6.7843224e-04 +3671 7.35 -4.9194995e-04 -6.7657422e-04 +3672 7.352 -4.9059865e-04 -6.7472125e-04 +3673 7.354 -4.8925106e-04 -6.7287333e-04 +3674 7.356 -4.8790716e-04 -6.7103044e-04 +3675 7.358 -4.8656693e-04 -6.6919256e-04 +3676 7.36 -4.8523038e-04 -6.6735969e-04 +3677 7.362 -4.8389749e-04 -6.6553182e-04 +3678 7.364 -4.8256825e-04 -6.6370891e-04 +3679 7.366 -4.8124265e-04 -6.6189098e-04 +3680 7.368 -4.7992068e-04 -6.6007799e-04 +3681 7.37 -4.7860234e-04 -6.5826994e-04 +3682 7.372 -4.7728760e-04 -6.5646681e-04 +3683 7.374 -4.7597647e-04 -6.5466860e-04 +3684 7.376 -4.7466892e-04 -6.5287528e-04 +3685 7.378 -4.7336496e-04 -6.5108685e-04 +3686 7.38 -4.7206457e-04 -6.4930328e-04 +3687 7.382 -4.7076775e-04 -6.4752458e-04 +3688 7.384 -4.6947447e-04 -6.4575072e-04 +3689 7.386 -4.6818474e-04 -6.4398169e-04 +3690 7.388 -4.6689854e-04 -6.4221748e-04 +3691 7.39 -4.6561587e-04 -6.4045808e-04 +3692 7.392 -4.6433671e-04 -6.3870347e-04 +3693 7.394 -4.6306105e-04 -6.3695364e-04 +3694 7.396 -4.6178889e-04 -6.3520858e-04 +3695 7.398 -4.6052021e-04 -6.3346827e-04 +3696 7.4 -4.5925501e-04 -6.3173270e-04 +3697 7.402 -4.5799328e-04 -6.3000186e-04 +3698 7.404 -4.5673500e-04 -6.2827574e-04 +3699 7.406 -4.5548017e-04 -6.2655432e-04 +3700 7.408 -4.5422878e-04 -6.2483760e-04 +3701 7.41 -4.5298082e-04 -6.2312555e-04 +3702 7.412 -4.5173628e-04 -6.2141816e-04 +3703 7.414 -4.5049514e-04 -6.1971543e-04 +3704 7.416 -4.4925741e-04 -6.1801734e-04 +3705 7.418 -4.4802307e-04 -6.1632387e-04 +3706 7.42 -4.4679211e-04 -6.1463502e-04 +3707 7.422 -4.4556453e-04 -6.1295078e-04 +3708 7.424 -4.4434031e-04 -6.1127112e-04 +3709 7.426 -4.4311944e-04 -6.0959605e-04 +3710 7.428 -4.4190192e-04 -6.0792553e-04 +3711 7.43 -4.4068773e-04 -6.0625958e-04 +3712 7.432 -4.3947688e-04 -6.0459816e-04 +3713 7.434 -4.3826934e-04 -6.0294127e-04 +3714 7.436 -4.3706511e-04 -6.0128890e-04 +3715 7.438 -4.3586418e-04 -5.9964103e-04 +3716 7.44 -4.3466654e-04 -5.9799766e-04 +3717 7.442 -4.3347219e-04 -5.9635877e-04 +3718 7.444 -4.3228110e-04 -5.9472434e-04 +3719 7.446 -4.3109329e-04 -5.9309437e-04 +3720 7.448 -4.2990872e-04 -5.9146884e-04 +3721 7.45 -4.2872741e-04 -5.8984775e-04 +3722 7.452 -4.2754933e-04 -5.8823108e-04 +3723 7.454 -4.2637448e-04 -5.8661881e-04 +3724 7.456 -4.2520285e-04 -5.8501094e-04 +3725 7.458 -4.2403443e-04 -5.8340746e-04 +3726 7.46 -4.2286922e-04 -5.8180835e-04 +3727 7.462 -4.2170720e-04 -5.8021360e-04 +3728 7.464 -4.2054836e-04 -5.7862319e-04 +3729 7.466 -4.1939270e-04 -5.7703713e-04 +3730 7.468 -4.1824021e-04 -5.7545539e-04 +3731 7.47 -4.1709088e-04 -5.7387797e-04 +3732 7.472 -4.1594470e-04 -5.7230484e-04 +3733 7.474 -4.1480166e-04 -5.7073601e-04 +3734 7.476 -4.1366175e-04 -5.6917146e-04 +3735 7.478 -4.1252497e-04 -5.6761117e-04 +3736 7.48 -4.1139130e-04 -5.6605515e-04 +3737 7.482 -4.1026074e-04 -5.6450336e-04 +3738 7.484 -4.0913329e-04 -5.6295581e-04 +3739 7.486 -4.0800892e-04 -5.6141248e-04 +3740 7.488 -4.0688763e-04 -5.5987336e-04 +3741 7.49 -4.0576942e-04 -5.5833844e-04 +3742 7.492 -4.0465428e-04 -5.5680771e-04 +3743 7.494 -4.0354219e-04 -5.5528115e-04 +3744 7.496 -4.0243315e-04 -5.5375876e-04 +3745 7.498 -4.0132715e-04 -5.5224052e-04 +3746 7.5 -4.0022418e-04 -5.5072642e-04 +3747 7.502 -3.9912424e-04 -5.4921646e-04 +3748 7.504 -3.9802732e-04 -5.4771061e-04 +3749 7.506 -3.9693340e-04 -5.4620888e-04 +3750 7.508 -3.9584248e-04 -5.4471124e-04 +3751 7.51 -3.9475455e-04 -5.4321769e-04 +3752 7.512 -3.9366960e-04 -5.4172821e-04 +3753 7.514 -3.9258763e-04 -5.4024280e-04 +3754 7.516 -3.9150863e-04 -5.3876145e-04 +3755 7.518 -3.9043258e-04 -5.3728413e-04 +3756 7.52 -3.8935949e-04 -5.3581085e-04 +3757 7.522 -3.8828934e-04 -5.3434159e-04 +3758 7.524 -3.8722212e-04 -5.3287634e-04 +3759 7.526 -3.8615783e-04 -5.3141509e-04 +3760 7.528 -3.8509646e-04 -5.2995783e-04 +3761 7.53 -3.8403800e-04 -5.2850454e-04 +3762 7.532 -3.8298244e-04 -5.2705522e-04 +3763 7.534 -3.8192977e-04 -5.2560986e-04 +3764 7.536 -3.8088000e-04 -5.2416844e-04 +3765 7.538 -3.7983310e-04 -5.2273096e-04 +3766 7.54 -3.7878907e-04 -5.2129740e-04 +3767 7.542 -3.7774790e-04 -5.1986776e-04 +3768 7.544 -3.7670960e-04 -5.1844202e-04 +3769 7.546 -3.7567413e-04 -5.1702017e-04 +3770 7.548 -3.7464151e-04 -5.1560220e-04 +3771 7.55 -3.7361172e-04 -5.1418811e-04 +3772 7.552 -3.7258476e-04 -5.1277787e-04 +3773 7.554 -3.7156061e-04 -5.1137149e-04 +3774 7.556 -3.7053927e-04 -5.0996894e-04 +3775 7.558 -3.6952073e-04 -5.0857023e-04 +3776 7.56 -3.6850499e-04 -5.0717533e-04 +3777 7.562 -3.6749203e-04 -5.0578425e-04 +3778 7.564 -3.6648185e-04 -5.0439696e-04 +3779 7.566 -3.6547444e-04 -5.0301346e-04 +3780 7.568 -3.6446979e-04 -5.0163374e-04 +3781 7.57 -3.6346790e-04 -5.0025779e-04 +3782 7.572 -3.6246876e-04 -4.9888559e-04 +3783 7.574 -3.6147235e-04 -4.9751715e-04 +3784 7.576 -3.6047868e-04 -4.9615243e-04 +3785 7.578 -3.5948774e-04 -4.9479145e-04 +3786 7.58 -3.5849952e-04 -4.9343419e-04 +3787 7.582 -3.5751400e-04 -4.9208063e-04 +3788 7.584 -3.5653119e-04 -4.9073077e-04 +3789 7.586 -3.5555108e-04 -4.8938459e-04 +3790 7.588 -3.5457365e-04 -4.8804209e-04 +3791 7.59 -3.5359891e-04 -4.8670326e-04 +3792 7.592 -3.5262683e-04 -4.8536809e-04 +3793 7.594 -3.5165743e-04 -4.8403656e-04 +3794 7.596 -3.5069069e-04 -4.8270868e-04 +3795 7.598 -3.4972659e-04 -4.8138442e-04 +3796 7.6 -3.4876515e-04 -4.8006377e-04 +3797 7.602 -3.4780634e-04 -4.7874674e-04 +3798 7.604 -3.4685016e-04 -4.7743330e-04 +3799 7.606 -3.4589660e-04 -4.7612345e-04 +3800 7.608 -3.4494566e-04 -4.7481718e-04 +3801 7.61 -3.4399733e-04 -4.7351448e-04 +3802 7.612 -3.4305160e-04 -4.7221534e-04 +3803 7.614 -3.4210847e-04 -4.7091975e-04 +3804 7.616 -3.4116792e-04 -4.6962770e-04 +3805 7.618 -3.4022995e-04 -4.6833917e-04 +3806 7.62 -3.3929456e-04 -4.6705417e-04 +3807 7.622 -3.3836173e-04 -4.6577268e-04 +3808 7.624 -3.3743147e-04 -4.6449470e-04 +3809 7.626 -3.3650375e-04 -4.6322020e-04 +3810 7.628 -3.3557858e-04 -4.6194919e-04 +3811 7.63 -3.3465595e-04 -4.6068165e-04 +3812 7.632 -3.3373585e-04 -4.5941758e-04 +3813 7.634 -3.3281828e-04 -4.5815696e-04 +3814 7.636 -3.3190322e-04 -4.5689978e-04 +3815 7.638 -3.3099068e-04 -4.5564605e-04 +3816 7.64 -3.3008064e-04 -4.5439573e-04 +3817 7.642 -3.2917309e-04 -4.5314884e-04 +3818 7.644 -3.2826804e-04 -4.5190535e-04 +3819 7.646 -3.2736547e-04 -4.5066527e-04 +3820 7.648 -3.2646538e-04 -4.4942857e-04 +3821 7.65 -3.2556775e-04 -4.4819525e-04 +3822 7.652 -3.2467259e-04 -4.4696530e-04 +3823 7.654 -3.2377989e-04 -4.4573872e-04 +3824 7.656 -3.2288964e-04 -4.4451549e-04 +3825 7.658 -3.2200183e-04 -4.4329560e-04 +3826 7.66 -3.2111645e-04 -4.4207905e-04 +3827 7.662 -3.2023351e-04 -4.4086582e-04 +3828 7.664 -3.1935299e-04 -4.3965591e-04 +3829 7.666 -3.1847488e-04 -4.3844931e-04 +3830 7.668 -3.1759919e-04 -4.3724601e-04 +3831 7.67 -3.1672590e-04 -4.3604600e-04 +3832 7.672 -3.1585500e-04 -4.3484926e-04 +3833 7.674 -3.1498650e-04 -4.3365580e-04 +3834 7.676 -3.1412038e-04 -4.3246561e-04 +3835 7.678 -3.1325663e-04 -4.3127866e-04 +3836 7.68 -3.1239526e-04 -4.3009497e-04 +3837 7.682 -3.1153625e-04 -4.2891451e-04 +3838 7.684 -3.1067960e-04 -4.2773727e-04 +3839 7.686 -3.0982530e-04 -4.2656326e-04 +3840 7.688 -3.0897334e-04 -4.2539246e-04 +3841 7.69 -3.0812373e-04 -4.2422485e-04 +3842 7.692 -3.0727644e-04 -4.2306045e-04 +3843 7.694 -3.0643148e-04 -4.2189922e-04 +3844 7.696 -3.0558884e-04 -4.2074117e-04 +3845 7.698 -3.0474852e-04 -4.1958629e-04 +3846 7.7 -3.0391050e-04 -4.1843457e-04 +3847 7.702 -3.0307478e-04 -4.1728599e-04 +3848 7.704 -3.0224135e-04 -4.1614056e-04 +3849 7.706 -3.0141021e-04 -4.1499826e-04 +3850 7.708 -3.0058135e-04 -4.1385909e-04 +3851 7.71 -2.9975477e-04 -4.1272303e-04 +3852 7.712 -2.9893046e-04 -4.1159008e-04 +3853 7.714 -2.9810841e-04 -4.1046023e-04 +3854 7.716 -2.9728862e-04 -4.0933346e-04 +3855 7.718 -2.9647107e-04 -4.0820978e-04 +3856 7.72 -2.9565578e-04 -4.0708918e-04 +3857 7.722 -2.9484272e-04 -4.0597164e-04 +3858 7.724 -2.9403189e-04 -4.0485715e-04 +3859 7.726 -2.9322329e-04 -4.0374572e-04 +3860 7.728 -2.9241690e-04 -4.0263732e-04 +3861 7.73 -2.9161273e-04 -4.0153196e-04 +3862 7.732 -2.9081077e-04 -4.0042962e-04 +3863 7.734 -2.9001101e-04 -3.9933030e-04 +3864 7.736 -2.8921345e-04 -3.9823398e-04 +3865 7.738 -2.8841808e-04 -3.9714067e-04 +3866 7.74 -2.8762488e-04 -3.9605034e-04 +3867 7.742 -2.8683387e-04 -3.9496300e-04 +3868 7.744 -2.8604503e-04 -3.9387864e-04 +3869 7.746 -2.8525836e-04 -3.9279724e-04 +3870 7.748 -2.8447384e-04 -3.9171880e-04 +3871 7.75 -2.8369148e-04 -3.9064331e-04 +3872 7.752 -2.8291126e-04 -3.8957076e-04 +3873 7.754 -2.8213319e-04 -3.8850115e-04 +3874 7.756 -2.8135726e-04 -3.8743446e-04 +3875 7.758 -2.8058345e-04 -3.8637070e-04 +3876 7.76 -2.7981177e-04 -3.8530984e-04 +3877 7.762 -2.7904221e-04 -3.8425189e-04 +3878 7.764 -2.7827476e-04 -3.8319683e-04 +3879 7.766 -2.7750942e-04 -3.8214466e-04 +3880 7.768 -2.7674618e-04 -3.8109537e-04 +3881 7.77 -2.7598504e-04 -3.8004895e-04 +3882 7.772 -2.7522599e-04 -3.7900540e-04 +3883 7.774 -2.7446902e-04 -3.7796470e-04 +3884 7.776 -2.7371413e-04 -3.7692685e-04 +3885 7.778 -2.7296131e-04 -3.7589184e-04 +3886 7.78 -2.7221056e-04 -3.7485966e-04 +3887 7.782 -2.7146187e-04 -3.7383031e-04 +3888 7.784 -2.7071523e-04 -3.7280377e-04 +3889 7.786 -2.6997065e-04 -3.7178005e-04 +3890 7.788 -2.6922811e-04 -3.7075913e-04 +3891 7.79 -2.6848761e-04 -3.6974100e-04 +3892 7.792 -2.6774914e-04 -3.6872566e-04 +3893 7.794 -2.6701271e-04 -3.6771309e-04 +3894 7.796 -2.6627829e-04 -3.6670330e-04 +3895 7.798 -2.6554589e-04 -3.6569628e-04 +3896 7.8 -2.6481550e-04 -3.6469201e-04 +3897 7.802 -2.6408712e-04 -3.6369049e-04 +3898 7.804 -2.6336074e-04 -3.6269171e-04 +3899 7.806 -2.6263635e-04 -3.6169566e-04 +3900 7.808 -2.6191396e-04 -3.6070235e-04 +3901 7.81 -2.6119354e-04 -3.5971175e-04 +3902 7.812 -2.6047511e-04 -3.5872386e-04 +3903 7.814 -2.5975864e-04 -3.5773868e-04 +3904 7.816 -2.5904415e-04 -3.5675620e-04 +3905 7.818 -2.5833162e-04 -3.5577640e-04 +3906 7.82 -2.5762104e-04 -3.5479929e-04 +3907 7.822 -2.5691242e-04 -3.5382485e-04 +3908 7.824 -2.5620574e-04 -3.5285308e-04 +3909 7.826 -2.5550100e-04 -3.5188398e-04 +3910 7.828 -2.5479820e-04 -3.5091752e-04 +3911 7.83 -2.5409733e-04 -3.4995371e-04 +3912 7.832 -2.5339839e-04 -3.4899255e-04 +3913 7.834 -2.5270136e-04 -3.4803401e-04 +3914 7.836 -2.5200625e-04 -3.4707810e-04 +3915 7.838 -2.5131305e-04 -3.4612480e-04 +3916 7.84 -2.5062175e-04 -3.4517412e-04 +3917 7.842 -2.4993235e-04 -3.4422604e-04 +3918 7.844 -2.4924484e-04 -3.4328055e-04 +3919 7.846 -2.4855922e-04 -3.4233766e-04 +3920 7.848 -2.4787549e-04 -3.4139735e-04 +3921 7.85 -2.4719363e-04 -3.4045961e-04 +3922 7.852 -2.4651365e-04 -3.3952444e-04 +3923 7.854 -2.4583553e-04 -3.3859183e-04 +3924 7.856 -2.4515928e-04 -3.3766178e-04 +3925 7.858 -2.4448489e-04 -3.3673427e-04 +3926 7.86 -2.4381234e-04 -3.3580931e-04 +3927 7.862 -2.4314165e-04 -3.3488687e-04 +3928 7.864 -2.4247279e-04 -3.3396697e-04 +3929 7.866 -2.4180578e-04 -3.3304958e-04 +3930 7.868 -2.4114059e-04 -3.3213470e-04 +3931 7.87 -2.4047724e-04 -3.3122234e-04 +3932 7.872 -2.3981570e-04 -3.3031247e-04 +3933 7.874 -2.3915599e-04 -3.2940509e-04 +3934 7.876 -2.3849808e-04 -3.2850020e-04 +3935 7.878 -2.3784198e-04 -3.2759779e-04 +3936 7.88 -2.3718769e-04 -3.2669784e-04 +3937 7.882 -2.3653519e-04 -3.2580037e-04 +3938 7.884 -2.3588448e-04 -3.2490535e-04 +3939 7.886 -2.3523557e-04 -3.2401279e-04 +3940 7.888 -2.3458843e-04 -3.2312267e-04 +3941 7.89 -2.3394307e-04 -3.2223498e-04 +3942 7.892 -2.3329949e-04 -3.2134973e-04 +3943 7.894 -2.3265767e-04 -3.2046691e-04 +3944 7.896 -2.3201762e-04 -3.1958650e-04 +3945 7.898 -2.3137933e-04 -3.1870851e-04 +3946 7.9 -2.3074279e-04 -3.1783292e-04 +3947 7.902 -2.3010799e-04 -3.1695973e-04 +3948 7.904 -2.2947494e-04 -3.1608894e-04 +3949 7.906 -2.2884364e-04 -3.1522052e-04 +3950 7.908 -2.2821406e-04 -3.1435449e-04 +3951 7.91 -2.2758622e-04 -3.1349083e-04 +3952 7.912 -2.2696010e-04 -3.1262954e-04 +3953 7.914 -2.2633570e-04 -3.1177061e-04 +3954 7.916 -2.2571301e-04 -3.1091403e-04 +3955 7.918 -2.2509204e-04 -3.1005980e-04 +3956 7.92 -2.2447277e-04 -3.0920790e-04 +3957 7.922 -2.2385521e-04 -3.0835835e-04 +3958 7.924 -2.2323934e-04 -3.0751112e-04 +3959 7.926 -2.2262516e-04 -3.0666621e-04 +3960 7.928 -2.2201267e-04 -3.0582362e-04 +3961 7.93 -2.2140186e-04 -3.0498333e-04 +3962 7.932 -2.2079273e-04 -3.0414535e-04 +3963 7.934 -2.2018528e-04 -3.0330967e-04 +3964 7.936 -2.1957949e-04 -3.0247627e-04 +3965 7.938 -2.1897537e-04 -3.0164516e-04 +3966 7.94 -2.1837291e-04 -3.0081633e-04 +3967 7.942 -2.1777211e-04 -2.9998977e-04 +3968 7.944 -2.1717295e-04 -2.9916548e-04 +3969 7.946 -2.1657544e-04 -2.9834344e-04 +3970 7.948 -2.1597958e-04 -2.9752365e-04 +3971 7.95 -2.1538535e-04 -2.9670612e-04 +3972 7.952 -2.1479275e-04 -2.9589082e-04 +3973 7.954 -2.1420178e-04 -2.9507776e-04 +3974 7.956 -2.1361244e-04 -2.9426693e-04 +3975 7.958 -2.1302471e-04 -2.9345832e-04 +3976 7.96 -2.1243860e-04 -2.9265192e-04 +3977 7.962 -2.1185410e-04 -2.9184774e-04 +3978 7.964 -2.1127121e-04 -2.9104576e-04 +3979 7.966 -2.1068992e-04 -2.9024598e-04 +3980 7.968 -2.1011023e-04 -2.8944839e-04 +3981 7.97 -2.0953212e-04 -2.8865298e-04 +3982 7.972 -2.0895561e-04 -2.8785976e-04 +3983 7.974 -2.0838068e-04 -2.8706871e-04 +3984 7.976 -2.0780734e-04 -2.8627983e-04 +3985 7.978 -2.0723556e-04 -2.8549311e-04 +3986 7.98 -2.0666536e-04 -2.8470855e-04 +3987 7.982 -2.0609673e-04 -2.8392614e-04 +3988 7.984 -2.0552966e-04 -2.8314588e-04 +3989 7.986 -2.0496414e-04 -2.8236775e-04 +3990 7.988 -2.0440018e-04 -2.8159176e-04 +3991 7.99 -2.0383777e-04 -2.8081789e-04 +3992 7.992 -2.0327691e-04 -2.8004615e-04 +3993 7.994 -2.0271759e-04 -2.7927652e-04 +3994 7.996 -2.0215980e-04 -2.7850900e-04 +3995 7.998 -2.0160355e-04 -2.7774359e-04 +3996 8.0 -2.0104883e-04 -2.7698027e-04 +3997 8.002 -2.0049563e-04 -2.7621905e-04 +3998 8.004 -1.9994395e-04 -2.7545991e-04 +3999 8.006 -1.9939379e-04 -2.7470286e-04 +4000 8.008 -1.9884514e-04 -2.7394788e-04 +4001 8.01 -1.9829799e-04 -2.7319497e-04 +4002 8.012 -1.9775236e-04 -2.7244413e-04 +4003 8.014 -1.9720822e-04 -2.7169534e-04 +4004 8.016 -1.9666557e-04 -2.7094861e-04 +4005 8.018 -1.9612442e-04 -2.7020393e-04 +4006 8.02 -1.9558476e-04 -2.6946128e-04 +4007 8.022 -1.9504657e-04 -2.6872068e-04 +4008 8.024 -1.9450987e-04 -2.6798210e-04 +4009 8.026 -1.9397464e-04 -2.6724555e-04 +4010 8.028 -1.9344089e-04 -2.6651102e-04 +4011 8.03 -1.9290860e-04 -2.6577850e-04 +4012 8.032 -1.9237777e-04 -2.6504800e-04 +4013 8.034 -1.9184841e-04 -2.6431949e-04 +4014 8.036 -1.9132049e-04 -2.6359299e-04 +4015 8.038 -1.9079403e-04 -2.6286847e-04 +4016 8.04 -1.9026902e-04 -2.6214594e-04 +4017 8.042 -1.8974545e-04 -2.6142540e-04 +4018 8.044 -1.8922332e-04 -2.6070683e-04 +4019 8.046 -1.8870262e-04 -2.5999023e-04 +4020 8.048 -1.8818335e-04 -2.5927560e-04 +4021 8.05 -1.8766552e-04 -2.5856292e-04 +4022 8.052 -1.8714910e-04 -2.5785220e-04 +4023 8.054 -1.8663411e-04 -2.5714343e-04 +4024 8.056 -1.8612053e-04 -2.5643661e-04 +4025 8.058 -1.8560836e-04 -2.5573172e-04 +4026 8.06 -1.8509760e-04 -2.5502876e-04 +4027 8.062 -1.8458824e-04 -2.5432774e-04 +4028 8.064 -1.8408028e-04 -2.5362863e-04 +4029 8.066 -1.8357373e-04 -2.5293145e-04 +4030 8.068 -1.8306856e-04 -2.5223617e-04 +4031 8.07 -1.8256478e-04 -2.5154281e-04 +4032 8.072 -1.8206239e-04 -2.5085134e-04 +4033 8.074 -1.8156137e-04 -2.5016177e-04 +4034 8.076 -1.8106174e-04 -2.4947410e-04 +4035 8.078 -1.8056347e-04 -2.4878831e-04 +4036 8.08 -1.8006658e-04 -2.4810440e-04 +4037 8.082 -1.7957106e-04 -2.4742237e-04 +4038 8.084 -1.7907689e-04 -2.4674220e-04 +4039 8.086 -1.7858409e-04 -2.4606391e-04 +4040 8.088 -1.7809263e-04 -2.4538747e-04 +4041 8.09 -1.7760253e-04 -2.4471289e-04 +4042 8.092 -1.7711378e-04 -2.4404016e-04 +4043 8.094 -1.7662637e-04 -2.4336928e-04 +4044 8.096 -1.7614030e-04 -2.4270023e-04 +4045 8.098 -1.7565557e-04 -2.4203302e-04 +4046 8.1 -1.7517217e-04 -2.4136765e-04 +4047 8.102 -1.7469010e-04 -2.4070409e-04 +4048 8.104 -1.7420935e-04 -2.4004236e-04 +4049 8.106 -1.7372993e-04 -2.3938244e-04 +4050 8.108 -1.7325182e-04 -2.3872434e-04 +4051 8.11 -1.7277503e-04 -2.3806804e-04 +4052 8.112 -1.7229955e-04 -2.3741354e-04 +4053 8.114 -1.7182537e-04 -2.3676083e-04 +4054 8.116 -1.7135250e-04 -2.3610992e-04 +4055 8.118 -1.7088093e-04 -2.3546079e-04 +4056 8.12 -1.7041066e-04 -2.3481344e-04 +4057 8.122 -1.6994168e-04 -2.3416787e-04 +4058 8.124 -1.6947399e-04 -2.3352407e-04 +4059 8.126 -1.6900758e-04 -2.3288204e-04 +4060 8.128 -1.6854246e-04 -2.3224177e-04 +4061 8.13 -1.6807861e-04 -2.3160326e-04 +4062 8.132 -1.6761604e-04 -2.3096649e-04 +4063 8.134 -1.6715475e-04 -2.3033148e-04 +4064 8.136 -1.6669472e-04 -2.2969821e-04 +4065 8.138 -1.6623595e-04 -2.2906667e-04 +4066 8.14 -1.6577845e-04 -2.2843687e-04 +4067 8.142 -1.6532220e-04 -2.2780879e-04 +4068 8.144 -1.6486721e-04 -2.2718244e-04 +4069 8.146 -1.6441347e-04 -2.2655781e-04 +4070 8.148 -1.6396098e-04 -2.2593489e-04 +4071 8.15 -1.6350973e-04 -2.2531369e-04 +4072 8.152 -1.6305972e-04 -2.2469418e-04 +4073 8.154 -1.6261095e-04 -2.2407638e-04 +4074 8.156 -1.6216342e-04 -2.2346027e-04 +4075 8.158 -1.6171711e-04 -2.2284585e-04 +4076 8.16 -1.6127203e-04 -2.2223312e-04 +4077 8.162 -1.6082818e-04 -2.2162207e-04 +4078 8.164 -1.6038554e-04 -2.2101270e-04 +4079 8.166 -1.5994413e-04 -2.2040500e-04 +4080 8.168 -1.5950392e-04 -2.1979896e-04 +4081 8.17 -1.5906493e-04 -2.1919460e-04 +4082 8.172 -1.5862714e-04 -2.1859188e-04 +4083 8.174 -1.5819056e-04 -2.1799083e-04 +4084 8.176 -1.5775518e-04 -2.1739142e-04 +4085 8.178 -1.5732099e-04 -2.1679366e-04 +4086 8.18 -1.5688800e-04 -2.1619754e-04 +4087 8.182 -1.5645620e-04 -2.1560305e-04 +4088 8.184 -1.5602559e-04 -2.1501020e-04 +4089 8.186 -1.5559616e-04 -2.1441897e-04 +4090 8.188 -1.5516791e-04 -2.1382937e-04 +4091 8.19 -1.5474084e-04 -2.1324138e-04 +4092 8.192 -1.5431495e-04 -2.1265501e-04 +4093 8.194 -1.5389022e-04 -2.1207025e-04 +4094 8.196 -1.5346666e-04 -2.1148709e-04 +4095 8.198 -1.5304427e-04 -2.1090553e-04 +4096 8.2 -1.5262304e-04 -2.1032557e-04 +4097 8.202 -1.5220297e-04 -2.0974721e-04 +4098 8.204 -1.5178405e-04 -2.0917043e-04 +4099 8.206 -1.5136629e-04 -2.0859523e-04 +4100 8.208 -1.5094967e-04 -2.0802161e-04 +4101 8.21 -1.5053420e-04 -2.0744957e-04 +4102 8.212 -1.5011987e-04 -2.0687909e-04 +4103 8.214 -1.4970668e-04 -2.0631018e-04 +4104 8.216 -1.4929463e-04 -2.0574284e-04 +4105 8.218 -1.4888371e-04 -2.0517705e-04 +4106 8.22 -1.4847392e-04 -2.0461281e-04 +4107 8.222 -1.4806526e-04 -2.0405013e-04 +4108 8.224 -1.4765772e-04 -2.0348899e-04 +4109 8.226 -1.4725130e-04 -2.0292938e-04 +4110 8.228 -1.4684600e-04 -2.0237132e-04 +4111 8.23 -1.4644181e-04 -2.0181479e-04 +4112 8.232 -1.4603874e-04 -2.0125978e-04 +4113 8.234 -1.4563677e-04 -2.0070630e-04 +4114 8.236 -1.4523591e-04 -2.0015434e-04 +4115 8.238 -1.4483615e-04 -1.9960389e-04 +4116 8.24 -1.4443750e-04 -1.9905495e-04 +4117 8.242 -1.4403993e-04 -1.9850753e-04 +4118 8.244 -1.4364346e-04 -1.9796160e-04 +4119 8.246 -1.4324809e-04 -1.9741717e-04 +4120 8.248 -1.4285379e-04 -1.9687424e-04 +4121 8.25 -1.4246059e-04 -1.9633280e-04 +4122 8.252 -1.4206846e-04 -1.9579284e-04 +4123 8.254 -1.4167742e-04 -1.9525437e-04 +4124 8.256 -1.4128744e-04 -1.9471738e-04 +4125 8.258 -1.4089854e-04 -1.9418186e-04 +4126 8.26 -1.4051072e-04 -1.9364781e-04 +4127 8.262 -1.4012395e-04 -1.9311523e-04 +4128 8.264 -1.3973825e-04 -1.9258411e-04 +4129 8.266 -1.3935362e-04 -1.9205444e-04 +4130 8.268 -1.3897003e-04 -1.9152623e-04 +4131 8.27 -1.3858751e-04 -1.9099948e-04 +4132 8.272 -1.3820604e-04 -1.9047417e-04 +4133 8.274 -1.3782561e-04 -1.8995030e-04 +4134 8.276 -1.3744623e-04 -1.8942787e-04 +4135 8.278 -1.3706790e-04 -1.8890687e-04 +4136 8.28 -1.3669061e-04 -1.8838731e-04 +4137 8.282 -1.3631435e-04 -1.8786917e-04 +4138 8.284 -1.3593913e-04 -1.8735245e-04 +4139 8.286 -1.3556494e-04 -1.8683715e-04 +4140 8.288 -1.3519178e-04 -1.8632327e-04 +4141 8.29 -1.3481964e-04 -1.8581080e-04 +4142 8.292 -1.3444853e-04 -1.8529974e-04 +4143 8.294 -1.3407844e-04 -1.8479008e-04 +4144 8.296 -1.3370937e-04 -1.8428182e-04 +4145 8.298 -1.3334132e-04 -1.8377495e-04 +4146 8.3 -1.3297427e-04 -1.8326948e-04 +4147 8.302 -1.3260824e-04 -1.8276539e-04 +4148 8.304 -1.3224321e-04 -1.8226269e-04 +4149 8.306 -1.3187919e-04 -1.8176137e-04 +4150 8.308 -1.3151616e-04 -1.8126143e-04 +4151 8.31 -1.3115414e-04 -1.8076286e-04 +4152 8.312 -1.3079311e-04 -1.8026566e-04 +4153 8.314 -1.3043308e-04 -1.7976982e-04 +4154 8.316 -1.3007403e-04 -1.7927535e-04 +4155 8.318 -1.2971597e-04 -1.7878223e-04 +4156 8.32 -1.2935890e-04 -1.7829047e-04 +4157 8.322 -1.2900281e-04 -1.7780006e-04 +4158 8.324 -1.2864770e-04 -1.7731100e-04 +4159 8.326 -1.2829357e-04 -1.7682328e-04 +4160 8.328 -1.2794041e-04 -1.7633690e-04 +4161 8.33 -1.2758822e-04 -1.7585185e-04 +4162 8.332 -1.2723700e-04 -1.7536814e-04 +4163 8.334 -1.2688674e-04 -1.7488575e-04 +4164 8.336 -1.2653745e-04 -1.7440469e-04 +4165 8.338 -1.2618912e-04 -1.7392495e-04 +4166 8.34 -1.2584175e-04 -1.7344653e-04 +4167 8.342 -1.2549534e-04 -1.7296943e-04 +4168 8.344 -1.2514987e-04 -1.7249363e-04 +4169 8.346 -1.2480536e-04 -1.7201914e-04 +4170 8.348 -1.2446180e-04 -1.7154595e-04 +4171 8.35 -1.2411918e-04 -1.7107407e-04 +4172 8.352 -1.2377750e-04 -1.7060348e-04 +4173 8.354 -1.2343676e-04 -1.7013418e-04 +4174 8.356 -1.2309696e-04 -1.6966617e-04 +4175 8.358 -1.2275810e-04 -1.6919945e-04 +4176 8.36 -1.2242016e-04 -1.6873401e-04 +4177 8.362 -1.2208316e-04 -1.6826984e-04 +4178 8.364 -1.2174708e-04 -1.6780695e-04 +4179 8.366 -1.2141193e-04 -1.6734534e-04 +4180 8.368 -1.2107770e-04 -1.6688499e-04 +4181 8.37 -1.2074439e-04 -1.6642591e-04 +4182 8.372 -1.2041200e-04 -1.6596808e-04 +4183 8.374 -1.2008052e-04 -1.6551152e-04 +4184 8.376 -1.1974995e-04 -1.6505621e-04 +4185 8.378 -1.1942029e-04 -1.6460215e-04 +4186 8.38 -1.1909154e-04 -1.6414934e-04 +4187 8.382 -1.1876369e-04 -1.6369777e-04 +4188 8.384 -1.1843675e-04 -1.6324744e-04 +4189 8.386 -1.1811070e-04 -1.6279835e-04 +4190 8.388 -1.1778555e-04 -1.6235049e-04 +4191 8.39 -1.1746130e-04 -1.6190386e-04 +4192 8.392 -1.1713794e-04 -1.6145846e-04 +4193 8.394 -1.1681547e-04 -1.6101429e-04 +4194 8.396 -1.1649388e-04 -1.6057133e-04 +4195 8.398 -1.1617318e-04 -1.6012959e-04 +4196 8.4 -1.1585336e-04 -1.5968906e-04 +4197 8.402 -1.1553442e-04 -1.5924975e-04 +4198 8.404 -1.1521636e-04 -1.5881164e-04 +4199 8.406 -1.1489917e-04 -1.5837474e-04 +4200 8.408 -1.1458286e-04 -1.5793903e-04 +4201 8.41 -1.1426742e-04 -1.5750452e-04 +4202 8.412 -1.1395284e-04 -1.5707121e-04 +4203 8.414 -1.1363913e-04 -1.5663909e-04 +4204 8.416 -1.1332629e-04 -1.5620815e-04 +4205 8.418 -1.1301430e-04 -1.5577840e-04 +4206 8.42 -1.1270317e-04 -1.5534983e-04 +4207 8.422 -1.1239290e-04 -1.5492243e-04 +4208 8.424 -1.1208348e-04 -1.5449621e-04 +4209 8.426 -1.1177491e-04 -1.5407116e-04 +4210 8.428 -1.1146719e-04 -1.5364728e-04 +4211 8.43 -1.1116032e-04 -1.5322457e-04 +4212 8.432 -1.1085430e-04 -1.5280301e-04 +4213 8.434 -1.1054911e-04 -1.5238262e-04 +4214 8.436 -1.1024476e-04 -1.5196337e-04 +4215 8.438 -1.0994126e-04 -1.5154529e-04 +4216 8.44 -1.0963858e-04 -1.5112834e-04 +4217 8.442 -1.0933674e-04 -1.5071255e-04 +4218 8.444 -1.0903573e-04 -1.5029790e-04 +4219 8.446 -1.0873555e-04 -1.4988438e-04 +4220 8.448 -1.0843619e-04 -1.4947201e-04 +4221 8.45 -1.0813766e-04 -1.4906076e-04 +4222 8.452 -1.0783995e-04 -1.4865065e-04 +4223 8.454 -1.0754306e-04 -1.4824166e-04 +4224 8.456 -1.0724698e-04 -1.4783380e-04 +4225 8.458 -1.0695172e-04 -1.4742706e-04 +4226 8.46 -1.0665727e-04 -1.4702143e-04 +4227 8.462 -1.0636364e-04 -1.4661692e-04 +4228 8.464 -1.0607080e-04 -1.4621352e-04 +4229 8.466 -1.0577878e-04 -1.4581123e-04 +4230 8.468 -1.0548756e-04 -1.4541005e-04 +4231 8.47 -1.0519714e-04 -1.4500997e-04 +4232 8.472 -1.0490752e-04 -1.4461099e-04 +4233 8.474 -1.0461869e-04 -1.4421310e-04 +4234 8.476 -1.0433067e-04 -1.4381631e-04 +4235 8.478 -1.0404343e-04 -1.4342060e-04 +4236 8.48 -1.0375698e-04 -1.4302599e-04 +4237 8.482 -1.0347132e-04 -1.4263246e-04 +4238 8.484 -1.0318645e-04 -1.4224001e-04 +4239 8.486 -1.0290236e-04 -1.4184864e-04 +4240 8.488 -1.0261906e-04 -1.4145834e-04 +4241 8.49 -1.0233653e-04 -1.4106912e-04 +4242 8.492 -1.0205478e-04 -1.4068097e-04 +4243 8.494 -1.0177380e-04 -1.4029388e-04 +4244 8.496 -1.0149360e-04 -1.3990786e-04 +4245 8.498 -1.0121417e-04 -1.3952290e-04 +4246 8.5 -1.0093551e-04 -1.3913899e-04 +4247 8.502 -1.0065762e-04 -1.3875615e-04 +4248 8.504 -1.0038049e-04 -1.3837435e-04 +4249 8.506 -1.0010412e-04 -1.3799360e-04 +4250 8.508 -9.9828510e-05 -1.3761390e-04 +4251 8.51 -9.9553661e-05 -1.3723525e-04 +4252 8.512 -9.9279569e-05 -1.3685763e-04 +4253 8.514 -9.9006230e-05 -1.3648105e-04 +4254 8.516 -9.8733644e-05 -1.3610551e-04 +4255 8.518 -9.8461807e-05 -1.3573100e-04 +4256 8.52 -9.8190719e-05 -1.3535751e-04 +4257 8.522 -9.7920377e-05 -1.3498506e-04 +4258 8.524 -9.7650778e-05 -1.3461363e-04 +4259 8.526 -9.7381921e-05 -1.3424322e-04 +4260 8.528 -9.7113805e-05 -1.3387382e-04 +4261 8.53 -9.6846425e-05 -1.3350544e-04 +4262 8.532 -9.6579782e-05 -1.3313808e-04 +4263 8.534 -9.6313872e-05 -1.3277172e-04 +4264 8.536 -9.6048695e-05 -1.3240638e-04 +4265 8.538 -9.5784246e-05 -1.3204203e-04 +4266 8.54 -9.5520526e-05 -1.3167869e-04 +4267 8.542 -9.5257531e-05 -1.3131634e-04 +4268 8.544 -9.4995260e-05 -1.3095500e-04 +4269 8.546 -9.4733710e-05 -1.3059464e-04 +4270 8.548 -9.4472881e-05 -1.3023528e-04 +4271 8.55 -9.4212768e-05 -1.2987690e-04 +4272 8.552 -9.3953372e-05 -1.2951951e-04 +4273 8.554 -9.3694690e-05 -1.2916310e-04 +4274 8.556 -9.3436719e-05 -1.2880767e-04 +4275 8.558 -9.3179458e-05 -1.2845322e-04 +4276 8.56 -9.2922906e-05 -1.2809974e-04 +4277 8.562 -9.2667059e-05 -1.2774723e-04 +4278 8.564 -9.2411916e-05 -1.2739569e-04 +4279 8.566 -9.2157475e-05 -1.2704512e-04 +4280 8.568 -9.1903735e-05 -1.2669551e-04 +4281 8.57 -9.1650693e-05 -1.2634687e-04 +4282 8.572 -9.1398347e-05 -1.2599918e-04 +4283 8.574 -9.1146695e-05 -1.2565245e-04 +4284 8.576 -9.0895736e-05 -1.2530667e-04 +4285 8.578 -9.0645468e-05 -1.2496184e-04 +4286 8.58 -9.0395888e-05 -1.2461796e-04 +4287 8.582 -9.0146996e-05 -1.2427502e-04 +4288 8.584 -8.9898788e-05 -1.2393303e-04 +4289 8.586 -8.9651263e-05 -1.2359198e-04 +4290 8.588 -8.9404419e-05 -1.2325186e-04 +4291 8.59 -8.9158255e-05 -1.2291268e-04 +4292 8.592 -8.8912768e-05 -1.2257443e-04 +4293 8.594 -8.8667956e-05 -1.2223711e-04 +4294 8.596 -8.8423819e-05 -1.2190072e-04 +4295 8.598 -8.8180353e-05 -1.2156526e-04 +4296 8.6 -8.7937557e-05 -1.2123071e-04 +4297 8.602 -8.7695430e-05 -1.2089709e-04 +4298 8.604 -8.7453968e-05 -1.2056438e-04 +4299 8.606 -8.7213171e-05 -1.2023259e-04 +4300 8.608 -8.6973037e-05 -1.1990171e-04 +4301 8.61 -8.6733564e-05 -1.1957174e-04 +4302 8.612 -8.6494750e-05 -1.1924268e-04 +4303 8.614 -8.6256593e-05 -1.1891452e-04 +4304 8.616 -8.6019091e-05 -1.1858726e-04 +4305 8.618 -8.5782243e-05 -1.1826090e-04 +4306 8.62 -8.5546047e-05 -1.1793545e-04 +4307 8.622 -8.5310501e-05 -1.1761088e-04 +4308 8.624 -8.5075603e-05 -1.1728721e-04 +4309 8.626 -8.4841351e-05 -1.1696443e-04 +4310 8.628 -8.4607744e-05 -1.1664253e-04 +4311 8.63 -8.4374780e-05 -1.1632152e-04 +4312 8.632 -8.4142458e-05 -1.1600139e-04 +4313 8.634 -8.3910774e-05 -1.1568215e-04 +4314 8.636 -8.3679729e-05 -1.1536378e-04 +4315 8.638 -8.3449319e-05 -1.1504628e-04 +4316 8.64 -8.3219543e-05 -1.1472966e-04 +4317 8.642 -8.2990399e-05 -1.1441391e-04 +4318 8.644 -8.2761887e-05 -1.1409903e-04 +4319 8.646 -8.2534003e-05 -1.1378501e-04 +4320 8.648 -8.2306746e-05 -1.1347186e-04 +4321 8.65 -8.2080115e-05 -1.1315956e-04 +4322 8.652 -8.1854107e-05 -1.1284813e-04 +4323 8.654 -8.1628722e-05 -1.1253755e-04 +4324 8.656 -8.1403956e-05 -1.1222783e-04 +4325 8.658 -8.1179810e-05 -1.1191896e-04 +4326 8.66 -8.0956280e-05 -1.1161093e-04 +4327 8.662 -8.0733365e-05 -1.1130376e-04 +4328 8.664 -8.0511064e-05 -1.1099743e-04 +4329 8.666 -8.0289375e-05 -1.1069194e-04 +4330 8.668 -8.0068296e-05 -1.1038729e-04 +4331 8.67 -7.9847825e-05 -1.1008348e-04 +4332 8.672 -7.9627962e-05 -1.0978050e-04 +4333 8.674 -7.9408703e-05 -1.0947836e-04 +4334 8.676 -7.9190048e-05 -1.0917704e-04 +4335 8.678 -7.8971994e-05 -1.0887656e-04 +4336 8.68 -7.8754541e-05 -1.0857690e-04 +4337 8.682 -7.8537686e-05 -1.0827807e-04 +4338 8.684 -7.8321428e-05 -1.0798006e-04 +4339 8.686 -7.8105765e-05 -1.0768287e-04 +4340 8.688 -7.7890696e-05 -1.0738649e-04 +4341 8.69 -7.7676219e-05 -1.0709093e-04 +4342 8.692 -7.7462332e-05 -1.0679618e-04 +4343 8.694 -7.7249033e-05 -1.0650225e-04 +4344 8.696 -7.7036322e-05 -1.0620912e-04 +4345 8.698 -7.6824196e-05 -1.0591679e-04 +4346 8.7 -7.6612655e-05 -1.0562528e-04 +4347 8.702 -7.6401695e-05 -1.0533456e-04 +4348 8.704 -7.6191316e-05 -1.0504464e-04 +4349 8.706 -7.5981516e-05 -1.0475552e-04 +4350 8.708 -7.5772293e-05 -1.0446720e-04 +4351 8.71 -7.5563646e-05 -1.0417966e-04 +4352 8.712 -7.5355574e-05 -1.0389292e-04 +4353 8.714 -7.5148074e-05 -1.0360697e-04 +4354 8.716 -7.4941146e-05 -1.0332180e-04 +4355 8.718 -7.4734786e-05 -1.0303742e-04 +4356 8.72 -7.4528995e-05 -1.0275382e-04 +4357 8.722 -7.4323771e-05 -1.0247100e-04 +4358 8.724 -7.4119111e-05 -1.0218895e-04 +4359 8.726 -7.3915014e-05 -1.0190769e-04 +4360 8.728 -7.3711480e-05 -1.0162719e-04 +4361 8.73 -7.3508505e-05 -1.0134747e-04 +4362 8.732 -7.3306089e-05 -1.0106852e-04 +4363 8.734 -7.3104231e-05 -1.0079033e-04 +4364 8.736 -7.2902927e-05 -1.0051291e-04 +4365 8.738 -7.2702178e-05 -1.0023625e-04 +4366 8.74 -7.2501982e-05 -9.9960352e-05 +4367 8.742 -7.2302336e-05 -9.9685214e-05 +4368 8.744 -7.2103241e-05 -9.9410832e-05 +4369 8.746 -7.1904693e-05 -9.9137204e-05 +4370 8.748 -7.1706691e-05 -9.8864329e-05 +4371 8.75 -7.1509235e-05 -9.8592205e-05 +4372 8.752 -7.1312322e-05 -9.8320829e-05 +4373 8.754 -7.1115951e-05 -9.8050199e-05 +4374 8.756 -7.0920121e-05 -9.7780314e-05 +4375 8.758 -7.0724829e-05 -9.7511171e-05 +4376 8.76 -7.0530075e-05 -9.7242768e-05 +4377 8.762 -7.0335858e-05 -9.6975103e-05 +4378 8.764 -7.0142175e-05 -9.6708174e-05 +4379 8.766 -6.9949024e-05 -9.6441980e-05 +4380 8.768 -6.9756406e-05 -9.6176517e-05 +4381 8.77 -6.9564318e-05 -9.5911785e-05 +4382 8.772 -6.9372758e-05 -9.5647781e-05 +4383 8.774 -6.9181726e-05 -9.5384502e-05 +4384 8.776 -6.8991220e-05 -9.5121948e-05 +4385 8.778 -6.8801238e-05 -9.4860117e-05 +4386 8.78 -6.8611779e-05 -9.4599005e-05 +4387 8.782 -6.8422842e-05 -9.4338611e-05 +4388 8.784 -6.8234424e-05 -9.4078934e-05 +4389 8.786 -6.8046525e-05 -9.3819970e-05 +4390 8.788 -6.7859144e-05 -9.3561719e-05 +4391 8.79 -6.7672278e-05 -9.3304179e-05 +4392 8.792 -6.7485927e-05 -9.3047346e-05 +4393 8.794 -6.7300088e-05 -9.2791220e-05 +4394 8.796 -6.7114761e-05 -9.2535799e-05 +4395 8.798 -6.6929944e-05 -9.2281080e-05 +4396 8.8 -6.6745636e-05 -9.2027062e-05 +4397 8.802 -6.6561836e-05 -9.1773742e-05 +4398 8.804 -6.6378541e-05 -9.1521119e-05 +4399 8.806 -6.6195751e-05 -9.1269191e-05 +4400 8.808 -6.6013464e-05 -9.1017956e-05 +4401 8.81 -6.5831679e-05 -9.0767412e-05 +4402 8.812 -6.5650394e-05 -9.0517557e-05 +4403 8.814 -6.5469608e-05 -9.0268389e-05 +4404 8.816 -6.5289320e-05 -9.0019907e-05 +4405 8.818 -6.5109528e-05 -8.9772108e-05 +4406 8.82 -6.4930231e-05 -8.9524990e-05 +4407 8.822 -6.4751427e-05 -8.9278553e-05 +4408 8.824 -6.4573116e-05 -8.9032793e-05 +4409 8.826 -6.4395296e-05 -8.8787709e-05 +4410 8.828 -6.4217965e-05 -8.8543300e-05 +4411 8.83 -6.4041122e-05 -8.8299562e-05 +4412 8.832 -6.3864766e-05 -8.8056496e-05 +4413 8.834 -6.3688896e-05 -8.7814097e-05 +4414 8.836 -6.3513509e-05 -8.7572366e-05 +4415 8.838 -6.3338606e-05 -8.7331299e-05 +4416 8.84 -6.3164184e-05 -8.7090896e-05 +4417 8.842 -6.2990242e-05 -8.6851154e-05 +4418 8.844 -6.2816779e-05 -8.6612071e-05 +4419 8.846 -6.2643793e-05 -8.6373646e-05 +4420 8.848 -6.2471284e-05 -8.6135877e-05 +4421 8.85 -6.2299249e-05 -8.5898761e-05 +4422 8.852 -6.2127688e-05 -8.5662298e-05 +4423 8.854 -6.1956599e-05 -8.5426486e-05 +4424 8.856 -6.1785982e-05 -8.5191322e-05 +4425 8.858 -6.1615834e-05 -8.4956805e-05 +4426 8.86 -6.1446154e-05 -8.4722934e-05 +4427 8.862 -6.1276942e-05 -8.4489705e-05 +4428 8.864 -6.1108195e-05 -8.4257118e-05 +4429 8.866 -6.0939913e-05 -8.4025171e-05 +4430 8.868 -6.0772094e-05 -8.3793862e-05 +4431 8.87 -6.0604737e-05 -8.3563189e-05 +4432 8.872 -6.0437841e-05 -8.3333151e-05 +4433 8.874 -6.0271404e-05 -8.3103746e-05 +4434 8.876 -6.0105425e-05 -8.2874972e-05 +4435 8.878 -5.9939903e-05 -8.2646827e-05 +4436 8.88 -5.9774837e-05 -8.2419310e-05 +4437 8.882 -5.9610226e-05 -8.2192418e-05 +4438 8.884 -5.9446067e-05 -8.1966151e-05 +4439 8.886 -5.9282361e-05 -8.1740506e-05 +4440 8.888 -5.9119105e-05 -8.1515482e-05 +4441 8.89 -5.8956298e-05 -8.1291077e-05 +4442 8.892 -5.8793940e-05 -8.1067289e-05 +4443 8.894 -5.8632029e-05 -8.0844117e-05 +4444 8.896 -5.8470563e-05 -8.0621559e-05 +4445 8.898 -5.8309542e-05 -8.0399613e-05 +4446 8.9 -5.8148964e-05 -8.0178278e-05 +4447 8.902 -5.7988829e-05 -7.9957552e-05 +4448 8.904 -5.7829134e-05 -7.9737433e-05 +4449 8.906 -5.7669879e-05 -7.9517919e-05 +4450 8.908 -5.7511062e-05 -7.9299010e-05 +4451 8.91 -5.7352682e-05 -7.9080702e-05 +4452 8.912 -5.7194739e-05 -7.8862995e-05 +4453 8.914 -5.7037230e-05 -7.8645888e-05 +4454 8.916 -5.6880155e-05 -7.8429377e-05 +4455 8.918 -5.6723512e-05 -7.8213462e-05 +4456 8.92 -5.6567300e-05 -7.7998141e-05 +4457 8.922 -5.6411519e-05 -7.7783413e-05 +4458 8.924 -5.6256166e-05 -7.7569275e-05 +4459 8.926 -5.6101241e-05 -7.7355726e-05 +4460 8.928 -5.5946743e-05 -7.7142765e-05 +4461 8.93 -5.5792670e-05 -7.6930390e-05 +4462 8.932 -5.5639021e-05 -7.6718599e-05 +4463 8.934 -5.5485795e-05 -7.6507391e-05 +4464 8.936 -5.5332991e-05 -7.6296763e-05 +4465 8.938 -5.5180608e-05 -7.6086716e-05 +4466 8.94 -5.5028644e-05 -7.5877246e-05 +4467 8.942 -5.4877098e-05 -7.5668352e-05 +4468 8.944 -5.4725970e-05 -7.5460034e-05 +4469 8.946 -5.4575258e-05 -7.5252288e-05 +4470 8.948 -5.4424961e-05 -7.5045114e-05 +4471 8.95 -5.4275077e-05 -7.4838510e-05 +4472 8.952 -5.4125606e-05 -7.4632474e-05 +4473 8.954 -5.3976547e-05 -7.4427005e-05 +4474 8.956 -5.3827898e-05 -7.4222102e-05 +4475 8.958 -5.3679658e-05 -7.4017762e-05 +4476 8.96 -5.3531826e-05 -7.3813985e-05 +4477 8.962 -5.3384402e-05 -7.3610768e-05 +4478 8.964 -5.3237383e-05 -7.3408110e-05 +4479 8.966 -5.3090769e-05 -7.3206010e-05 +4480 8.968 -5.2944558e-05 -7.3004466e-05 +4481 8.97 -5.2798751e-05 -7.2803476e-05 +4482 8.972 -5.2653344e-05 -7.2603040e-05 +4483 8.974 -5.2508338e-05 -7.2403155e-05 +4484 8.976 -5.2363731e-05 -7.2203819e-05 +4485 8.978 -5.2219522e-05 -7.2005033e-05 +4486 8.98 -5.2075711e-05 -7.1806793e-05 +4487 8.982 -5.1932295e-05 -7.1609099e-05 +4488 8.984 -5.1789274e-05 -7.1411949e-05 +4489 8.986 -5.1646647e-05 -7.1215341e-05 +4490 8.988 -5.1504412e-05 -7.1019274e-05 +4491 8.99 -5.1362569e-05 -7.0823746e-05 +4492 8.992 -5.1221117e-05 -7.0628757e-05 +4493 8.994 -5.1080054e-05 -7.0434304e-05 +4494 8.996 -5.0939379e-05 -7.0240386e-05 +4495 8.998 -5.0799092e-05 -7.0047002e-05 +4496 9.0 -5.0659191e-05 -6.9854150e-05 +4497 9.002 -5.0519675e-05 -6.9661828e-05 +4498 9.004 -5.0380543e-05 -6.9470036e-05 +4499 9.006 -5.0241795e-05 -6.9278771e-05 +4500 9.008 -5.0103428e-05 -6.9088033e-05 +4501 9.01 -4.9965442e-05 -6.8897819e-05 +4502 9.012 -4.9827836e-05 -6.8708129e-05 +4503 9.014 -4.9690609e-05 -6.8518961e-05 +4504 9.016 -4.9553760e-05 -6.8330313e-05 +4505 9.018 -4.9417288e-05 -6.8142184e-05 +4506 9.02 -4.9281191e-05 -6.7954573e-05 +4507 9.022 -4.9145469e-05 -6.7767479e-05 +4508 9.024 -4.9010121e-05 -6.7580899e-05 +4509 9.026 -4.8875145e-05 -6.7394832e-05 +4510 9.028 -4.8740541e-05 -6.7209278e-05 +4511 9.03 -4.8606308e-05 -6.7024234e-05 +4512 9.032 -4.8472444e-05 -6.6839699e-05 +4513 9.034 -4.8338948e-05 -6.6655672e-05 +4514 9.036 -4.8205821e-05 -6.6472152e-05 +4515 9.038 -4.8073059e-05 -6.6289136e-05 +4516 9.04 -4.7940664e-05 -6.6106624e-05 +4517 9.042 -4.7808633e-05 -6.5924614e-05 +4518 9.044 -4.7676965e-05 -6.5743105e-05 +4519 9.046 -4.7545660e-05 -6.5562096e-05 +4520 9.048 -4.7414716e-05 -6.5381585e-05 +4521 9.05 -4.7284133e-05 -6.5201570e-05 +4522 9.052 -4.7153910e-05 -6.5022051e-05 +4523 9.054 -4.7024045e-05 -6.4843025e-05 +4524 9.056 -4.6894537e-05 -6.4664493e-05 +4525 9.058 -4.6765386e-05 -6.4486451e-05 +4526 9.06 -4.6636591e-05 -6.4308900e-05 +4527 9.062 -4.6508150e-05 -6.4131837e-05 +4528 9.064 -4.6380063e-05 -6.3955261e-05 +4529 9.066 -4.6252329e-05 -6.3779172e-05 +4530 9.068 -4.6124946e-05 -6.3603567e-05 +4531 9.07 -4.5997915e-05 -6.3428445e-05 +4532 9.072 -4.5871232e-05 -6.3253805e-05 +4533 9.074 -4.5744899e-05 -6.3079645e-05 +4534 9.076 -4.5618913e-05 -6.2905965e-05 +4535 9.078 -4.5493275e-05 -6.2732763e-05 +4536 9.08 -4.5367982e-05 -6.2560037e-05 +4537 9.082 -4.5243034e-05 -6.2387787e-05 +4538 9.084 -4.5118431e-05 -6.2216011e-05 +4539 9.086 -4.4994170e-05 -6.2044707e-05 +4540 9.088 -4.4870251e-05 -6.1873875e-05 +4541 9.09 -4.4746674e-05 -6.1703513e-05 +4542 9.092 -4.4623437e-05 -6.1533620e-05 +4543 9.094 -4.4500539e-05 -6.1364194e-05 +4544 9.096 -4.4377980e-05 -6.1195235e-05 +4545 9.098 -4.4255758e-05 -6.1026741e-05 +4546 9.1 -4.4133873e-05 -6.0858710e-05 +4547 9.102 -4.4012323e-05 -6.0691141e-05 +4548 9.104 -4.3891108e-05 -6.0524034e-05 +4549 9.106 -4.3770227e-05 -6.0357387e-05 +4550 9.108 -4.3649678e-05 -6.0191198e-05 +4551 9.11 -4.3529461e-05 -6.0025467e-05 +4552 9.112 -4.3409576e-05 -5.9860192e-05 +4553 9.114 -4.3290020e-05 -5.9695371e-05 +4554 9.116 -4.3170794e-05 -5.9531004e-05 +4555 9.118 -4.3051896e-05 -5.9367090e-05 +4556 9.12 -4.2933325e-05 -5.9203627e-05 +4557 9.122 -4.2815081e-05 -5.9040613e-05 +4558 9.124 -4.2697163e-05 -5.8878048e-05 +4559 9.126 -4.2579569e-05 -5.8715931e-05 +4560 9.128 -4.2462299e-05 -5.8554259e-05 +4561 9.13 -4.2345351e-05 -5.8393033e-05 +4562 9.132 -4.2228726e-05 -5.8232250e-05 +4563 9.134 -4.2112422e-05 -5.8071910e-05 +4564 9.136 -4.1996438e-05 -5.7912011e-05 +4565 9.138 -4.1880774e-05 -5.7752552e-05 +4566 9.14 -4.1765428e-05 -5.7593532e-05 +4567 9.142 -4.1650399e-05 -5.7434950e-05 +4568 9.144 -4.1535688e-05 -5.7276804e-05 +4569 9.146 -4.1421292e-05 -5.7119093e-05 +4570 9.148 -4.1307211e-05 -5.6961816e-05 +4571 9.15 -4.1193444e-05 -5.6804972e-05 +4572 9.152 -4.1079991e-05 -5.6648560e-05 +4573 9.154 -4.0966850e-05 -5.6492578e-05 +4574 9.156 -4.0854020e-05 -5.6337026e-05 +4575 9.158 -4.0741501e-05 -5.6181902e-05 +4576 9.16 -4.0629292e-05 -5.6027204e-05 +4577 9.162 -4.0517392e-05 -5.5872933e-05 +4578 9.164 -4.0405800e-05 -5.5719086e-05 +4579 9.166 -4.0294516e-05 -5.5565662e-05 +4580 9.168 -4.0183537e-05 -5.5412661e-05 +4581 9.17 -4.0072865e-05 -5.5260080e-05 +4582 9.172 -3.9962497e-05 -5.5107920e-05 +4583 9.174 -3.9852433e-05 -5.4956178e-05 +4584 9.176 -3.9742672e-05 -5.4804854e-05 +4585 9.178 -3.9633213e-05 -5.4653947e-05 +4586 9.18 -3.9524056e-05 -5.4503455e-05 +4587 9.182 -3.9415199e-05 -5.4353377e-05 +4588 9.184 -3.9306642e-05 -5.4203712e-05 +4589 9.186 -3.9198384e-05 -5.4054459e-05 +4590 9.188 -3.9090424e-05 -5.3905617e-05 +4591 9.19 -3.8982761e-05 -5.3757184e-05 +4592 9.192 -3.8875395e-05 -5.3609160e-05 +4593 9.194 -3.8768324e-05 -5.3461544e-05 +4594 9.196 -3.8661548e-05 -5.3314334e-05 +4595 9.198 -3.8555067e-05 -5.3167528e-05 +4596 9.2 -3.8448878e-05 -5.3021127e-05 +4597 9.202 -3.8342982e-05 -5.2875129e-05 +4598 9.204 -3.8237377e-05 -5.2729533e-05 +4599 9.206 -3.8132063e-05 -5.2584337e-05 +4600 9.208 -3.8027040e-05 -5.2439542e-05 +4601 9.21 -3.7922305e-05 -5.2295144e-05 +4602 9.212 -3.7817859e-05 -5.2151144e-05 +4603 9.214 -3.7713700e-05 -5.2007541e-05 +4604 9.216 -3.7609828e-05 -5.1864332e-05 +4605 9.218 -3.7506243e-05 -5.1721518e-05 +4606 9.22 -3.7402942e-05 -5.1579097e-05 +4607 9.222 -3.7299926e-05 -5.1437068e-05 +4608 9.224 -3.7197193e-05 -5.1295430e-05 +4609 9.226 -3.7094744e-05 -5.1154181e-05 +4610 9.228 -3.6992576e-05 -5.1013322e-05 +4611 9.23 -3.6890690e-05 -5.0872850e-05 +4612 9.232 -3.6789085e-05 -5.0732765e-05 +4613 9.234 -3.6687759e-05 -5.0593065e-05 +4614 9.236 -3.6586712e-05 -5.0453750e-05 +4615 9.238 -3.6485944e-05 -5.0314818e-05 +4616 9.24 -3.6385453e-05 -5.0176269e-05 +4617 9.242 -3.6285238e-05 -5.0038101e-05 +4618 9.244 -3.6185300e-05 -4.9900313e-05 +4619 9.246 -3.6085637e-05 -4.9762905e-05 +4620 9.248 -3.5986248e-05 -4.9625875e-05 +4621 9.25 -3.5887133e-05 -4.9489222e-05 +4622 9.252 -3.5788291e-05 -4.9352945e-05 +4623 9.254 -3.5689721e-05 -4.9217043e-05 +4624 9.256 -3.5591423e-05 -4.9081516e-05 +4625 9.258 -3.5493395e-05 -4.8946361e-05 +4626 9.26 -3.5395637e-05 -4.8811578e-05 +4627 9.262 -3.5298148e-05 -4.8677167e-05 +4628 9.264 -3.5200928e-05 -4.8543125e-05 +4629 9.266 -3.5103976e-05 -4.8409453e-05 +4630 9.268 -3.5007290e-05 -4.8276148e-05 +4631 9.27 -3.4910871e-05 -4.8143210e-05 +4632 9.272 -3.4814717e-05 -4.8010638e-05 +4633 9.274 -3.4718828e-05 -4.7878431e-05 +4634 9.276 -3.4623203e-05 -4.7746588e-05 +4635 9.278 -3.4527841e-05 -4.7615108e-05 +4636 9.28 -3.4432742e-05 -4.7483990e-05 +4637 9.282 -3.4337905e-05 -4.7353232e-05 +4638 9.284 -3.4243329e-05 -4.7222835e-05 +4639 9.286 -3.4149014e-05 -4.7092796e-05 +4640 9.288 -3.4054958e-05 -4.6963116e-05 +4641 9.29 -3.3961161e-05 -4.6833792e-05 +4642 9.292 -3.3867622e-05 -4.6704825e-05 +4643 9.294 -3.3774341e-05 -4.6576212e-05 +4644 9.296 -3.3681317e-05 -4.6447954e-05 +4645 9.298 -3.3588549e-05 -4.6320048e-05 +4646 9.3 -3.3496037e-05 -4.6192495e-05 +4647 9.302 -3.3403779e-05 -4.6065292e-05 +4648 9.304 -3.3311775e-05 -4.5938440e-05 +4649 9.306 -3.3220025e-05 -4.5811937e-05 +4650 9.308 -3.3128527e-05 -4.5685782e-05 +4651 9.31 -3.3037282e-05 -4.5559975e-05 +4652 9.312 -3.2946287e-05 -4.5434514e-05 +4653 9.314 -3.2855543e-05 -4.5309398e-05 +4654 9.316 -3.2765049e-05 -4.5184626e-05 +4655 9.318 -3.2674805e-05 -4.5060198e-05 +4656 9.32 -3.2584808e-05 -4.4936113e-05 +4657 9.322 -3.2495060e-05 -4.4812369e-05 +4658 9.324 -3.2405559e-05 -4.4688966e-05 +4659 9.326 -3.2316304e-05 -4.4565902e-05 +4660 9.328 -3.2227295e-05 -4.4443177e-05 +4661 9.33 -3.2138531e-05 -4.4320790e-05 +4662 9.332 -3.2050012e-05 -4.4198740e-05 +4663 9.334 -3.1961736e-05 -4.4077026e-05 +4664 9.336 -3.1873703e-05 -4.3955647e-05 +4665 9.338 -3.1785913e-05 -4.3834602e-05 +4666 9.34 -3.1698365e-05 -4.3713890e-05 +4667 9.342 -3.1611057e-05 -4.3593511e-05 +4668 9.344 -3.1523990e-05 -4.3473463e-05 +4669 9.346 -3.1437163e-05 -4.3353745e-05 +4670 9.348 -3.1350575e-05 -4.3234357e-05 +4671 9.35 -3.1264225e-05 -4.3115298e-05 +4672 9.352 -3.1178114e-05 -4.2996566e-05 +4673 9.354 -3.1092239e-05 -4.2878161e-05 +4674 9.356 -3.1006601e-05 -4.2760083e-05 +4675 9.358 -3.0921198e-05 -4.2642329e-05 +4676 9.36 -3.0836031e-05 -4.2524899e-05 +4677 9.362 -3.0751099e-05 -4.2407793e-05 +4678 9.364 -3.0666400e-05 -4.2291009e-05 +4679 9.366 -3.0581934e-05 -4.2174546e-05 +4680 9.368 -3.0497702e-05 -4.2058404e-05 +4681 9.37 -3.0413701e-05 -4.1942582e-05 +4682 9.372 -3.0329931e-05 -4.1827079e-05 +4683 9.374 -3.0246392e-05 -4.1711893e-05 +4684 9.376 -3.0163083e-05 -4.1597025e-05 +4685 9.378 -3.0080004e-05 -4.1482473e-05 +4686 9.38 -2.9997153e-05 -4.1368236e-05 +4687 9.382 -2.9914531e-05 -4.1254314e-05 +4688 9.384 -2.9832136e-05 -4.1140705e-05 +4689 9.386 -2.9749968e-05 -4.1027410e-05 +4690 9.388 -2.9668026e-05 -4.0914426e-05 +4691 9.39 -2.9586310e-05 -4.0801753e-05 +4692 9.392 -2.9504819e-05 -4.0689390e-05 +4693 9.394 -2.9423552e-05 -4.0577336e-05 +4694 9.396 -2.9342509e-05 -4.0465591e-05 +4695 9.398 -2.9261689e-05 -4.0354154e-05 +4696 9.4 -2.9181092e-05 -4.0243024e-05 +4697 9.402 -2.9100717e-05 -4.0132199e-05 +4698 9.404 -2.9020563e-05 -4.0021679e-05 +4699 9.406 -2.8940630e-05 -3.9911464e-05 +4700 9.408 -2.8860917e-05 -3.9801552e-05 +4701 9.41 -2.8781424e-05 -3.9691943e-05 +4702 9.412 -2.8702149e-05 -3.9582635e-05 +4703 9.414 -2.8623093e-05 -3.9473629e-05 +4704 9.416 -2.8544254e-05 -3.9364922e-05 +4705 9.418 -2.8465633e-05 -3.9256515e-05 +4706 9.42 -2.8387228e-05 -3.9148406e-05 +4707 9.422 -2.8309039e-05 -3.9040595e-05 +4708 9.424 -2.8231066e-05 -3.8933081e-05 +4709 9.426 -2.8153307e-05 -3.8825862e-05 +4710 9.428 -2.8075762e-05 -3.8718939e-05 +4711 9.43 -2.7998431e-05 -3.8612310e-05 +4712 9.432 -2.7921313e-05 -3.8505975e-05 +4713 9.434 -2.7844407e-05 -3.8399932e-05 +4714 9.436 -2.7767713e-05 -3.8294181e-05 +4715 9.438 -2.7691230e-05 -3.8188722e-05 +4716 9.44 -2.7614958e-05 -3.8083553e-05 +4717 9.442 -2.7538895e-05 -3.7978673e-05 +4718 9.444 -2.7463043e-05 -3.7874082e-05 +4719 9.446 -2.7387399e-05 -3.7769779e-05 +4720 9.448 -2.7311963e-05 -3.7665763e-05 +4721 9.45 -2.7236736e-05 -3.7562034e-05 +4722 9.452 -2.7161715e-05 -3.7458590e-05 +4723 9.454 -2.7086901e-05 -3.7355431e-05 +4724 9.456 -2.7012293e-05 -3.7252556e-05 +4725 9.458 -2.6937891e-05 -3.7149964e-05 +4726 9.46 -2.6863693e-05 -3.7047655e-05 +4727 9.462 -2.6789700e-05 -3.6945627e-05 +4728 9.464 -2.6715910e-05 -3.6843880e-05 +4729 9.466 -2.6642324e-05 -3.6742413e-05 +4730 9.468 -2.6568940e-05 -3.6641226e-05 +4731 9.47 -2.6495759e-05 -3.6540317e-05 +4732 9.472 -2.6422779e-05 -3.6439686e-05 +4733 9.474 -2.6350000e-05 -3.6339332e-05 +4734 9.476 -2.6277422e-05 -3.6239255e-05 +4735 9.478 -2.6205043e-05 -3.6139452e-05 +4736 9.48 -2.6132864e-05 -3.6039925e-05 +4737 9.482 -2.6060883e-05 -3.5940672e-05 +4738 9.484 -2.5989101e-05 -3.5841692e-05 +4739 9.486 -2.5917516e-05 -3.5742984e-05 +4740 9.488 -2.5846129e-05 -3.5644548e-05 +4741 9.49 -2.5774938e-05 -3.5546383e-05 +4742 9.492 -2.5703943e-05 -3.5448489e-05 +4743 9.494 -2.5633144e-05 -3.5350864e-05 +4744 9.496 -2.5562539e-05 -3.5253508e-05 +4745 9.498 -2.5492129e-05 -3.5156419e-05 +4746 9.5 -2.5421913e-05 -3.5059598e-05 +4747 9.502 -2.5351891e-05 -3.4963044e-05 +4748 9.504 -2.5282061e-05 -3.4866755e-05 +4749 9.506 -2.5212424e-05 -3.4770732e-05 +4750 9.508 -2.5142978e-05 -3.4674973e-05 +4751 9.51 -2.5073723e-05 -3.4579478e-05 +4752 9.512 -2.5004660e-05 -3.4484245e-05 +4753 9.514 -2.4935786e-05 -3.4389275e-05 +4754 9.516 -2.4867103e-05 -3.4294566e-05 +4755 9.518 -2.4798608e-05 -3.4200118e-05 +4756 9.52 -2.4730302e-05 -3.4105930e-05 +4757 9.522 -2.4662184e-05 -3.4012001e-05 +4758 9.524 -2.4594254e-05 -3.3918331e-05 +4759 9.526 -2.4526511e-05 -3.3824919e-05 +4760 9.528 -2.4458954e-05 -3.3731764e-05 +4761 9.53 -2.4391583e-05 -3.3638865e-05 +4762 9.532 -2.4324398e-05 -3.3546222e-05 +4763 9.534 -2.4257398e-05 -3.3453835e-05 +4764 9.536 -2.4190583e-05 -3.3361701e-05 +4765 9.538 -2.4123951e-05 -3.3269822e-05 +4766 9.54 -2.4057503e-05 -3.3178195e-05 +4767 9.542 -2.3991238e-05 -3.3086821e-05 +4768 9.544 -2.3925156e-05 -3.2995698e-05 +4769 9.546 -2.3859255e-05 -3.2904826e-05 +4770 9.548 -2.3793536e-05 -3.2814204e-05 +4771 9.55 -2.3727998e-05 -3.2723832e-05 +4772 9.552 -2.3662641e-05 -3.2633708e-05 +4773 9.554 -2.3597463e-05 -3.2543833e-05 +4774 9.556 -2.3532465e-05 -3.2454205e-05 +4775 9.558 -2.3467646e-05 -3.2364824e-05 +4776 9.56 -2.3403006e-05 -3.2275689e-05 +4777 9.562 -2.3338543e-05 -3.2186800e-05 +4778 9.564 -2.3274259e-05 -3.2098155e-05 +4779 9.566 -2.3210151e-05 -3.2009754e-05 +4780 9.568 -2.3146219e-05 -3.1921597e-05 +4781 9.57 -2.3082464e-05 -3.1833682e-05 +4782 9.572 -2.3018884e-05 -3.1746009e-05 +4783 9.574 -2.2955480e-05 -3.1658578e-05 +4784 9.576 -2.2892250e-05 -3.1571388e-05 +4785 9.578 -2.2829194e-05 -3.1484437e-05 +4786 9.58 -2.2766312e-05 -3.1397726e-05 +4787 9.582 -2.2703603e-05 -3.1311254e-05 +4788 9.584 -2.2641067e-05 -3.1225020e-05 +4789 9.586 -2.2578703e-05 -3.1139023e-05 +4790 9.588 -2.2516511e-05 -3.1053263e-05 +4791 9.59 -2.2454490e-05 -3.0967739e-05 +4792 9.592 -2.2392640e-05 -3.0882451e-05 +4793 9.594 -2.2330960e-05 -3.0797398e-05 +4794 9.596 -2.2269450e-05 -3.0712578e-05 +4795 9.598 -2.2208109e-05 -3.0627992e-05 +4796 9.6 -2.2146938e-05 -3.0543640e-05 +4797 9.602 -2.2085935e-05 -3.0459519e-05 +4798 9.604 -2.2025099e-05 -3.0375630e-05 +4799 9.606 -2.1964432e-05 -3.0291972e-05 +4800 9.608 -2.1903931e-05 -3.0208544e-05 +4801 9.61 -2.1843598e-05 -3.0125346e-05 +4802 9.612 -2.1783430e-05 -3.0042377e-05 +4803 9.614 -2.1723428e-05 -2.9959637e-05 +4804 9.616 -2.1663591e-05 -2.9877124e-05 +4805 9.618 -2.1603919e-05 -2.9794839e-05 +4806 9.62 -2.1544412e-05 -2.9712780e-05 +4807 9.622 -2.1485068e-05 -2.9630947e-05 +4808 9.624 -2.1425888e-05 -2.9549339e-05 +4809 9.626 -2.1366870e-05 -2.9467957e-05 +4810 9.628 -2.1308016e-05 -2.9386798e-05 +4811 9.63 -2.1249323e-05 -2.9305862e-05 +4812 9.632 -2.1190792e-05 -2.9225150e-05 +4813 9.634 -2.1132422e-05 -2.9144660e-05 +4814 9.636 -2.1074213e-05 -2.9064391e-05 +4815 9.638 -2.1016165e-05 -2.8984343e-05 +4816 9.64 -2.0958276e-05 -2.8904516e-05 +4817 9.642 -2.0900546e-05 -2.8824909e-05 +4818 9.644 -2.0842976e-05 -2.8745521e-05 +4819 9.646 -2.0785564e-05 -2.8666351e-05 +4820 9.648 -2.0728311e-05 -2.8587399e-05 +4821 9.65 -2.0671214e-05 -2.8508665e-05 +4822 9.652 -2.0614276e-05 -2.8430148e-05 +4823 9.654 -2.0557494e-05 -2.8351846e-05 +4824 9.656 -2.0500868e-05 -2.8273761e-05 +4825 9.658 -2.0444399e-05 -2.8195890e-05 +4826 9.66 -2.0388084e-05 -2.8118234e-05 +4827 9.662 -2.0331925e-05 -2.8040792e-05 +4828 9.664 -2.0275921e-05 -2.7963562e-05 +4829 9.666 -2.0220071e-05 -2.7886546e-05 +4830 9.668 -2.0164375e-05 -2.7809741e-05 +4831 9.67 -2.0108832e-05 -2.7733148e-05 +4832 9.672 -2.0053442e-05 -2.7656766e-05 +4833 9.674 -1.9998205e-05 -2.7580595e-05 +4834 9.676 -1.9943120e-05 -2.7504633e-05 +4835 9.678 -1.9888186e-05 -2.7428880e-05 +4836 9.68 -1.9833404e-05 -2.7353336e-05 +4837 9.682 -1.9778773e-05 -2.7277999e-05 +4838 9.684 -1.9724292e-05 -2.7202871e-05 +4839 9.686 -1.9669961e-05 -2.7127949e-05 +4840 9.688 -1.9615780e-05 -2.7053233e-05 +4841 9.69 -1.9561748e-05 -2.6978723e-05 +4842 9.692 -1.9507865e-05 -2.6904419e-05 +4843 9.694 -1.9454130e-05 -2.6830318e-05 +4844 9.696 -1.9400543e-05 -2.6756422e-05 +4845 9.698 -1.9347104e-05 -2.6682730e-05 +4846 9.7 -1.9293812e-05 -2.6609240e-05 +4847 9.702 -1.9240667e-05 -2.6535953e-05 +4848 9.704 -1.9187668e-05 -2.6462867e-05 +4849 9.706 -1.9134816e-05 -2.6389983e-05 +4850 9.708 -1.9082108e-05 -2.6317299e-05 +4851 9.71 -1.9029546e-05 -2.6244816e-05 +4852 9.712 -1.8977129e-05 -2.6172532e-05 +4853 9.714 -1.8924856e-05 -2.6100447e-05 +4854 9.716 -1.8872727e-05 -2.6028561e-05 +4855 9.718 -1.8820742e-05 -2.5956873e-05 +4856 9.72 -1.8768899e-05 -2.5885382e-05 +4857 9.722 -1.8717200e-05 -2.5814088e-05 +4858 9.724 -1.8665643e-05 -2.5742990e-05 +4859 9.726 -1.8614228e-05 -2.5672088e-05 +4860 9.728 -1.8562954e-05 -2.5601381e-05 +4861 9.73 -1.8511822e-05 -2.5530869e-05 +4862 9.732 -1.8460831e-05 -2.5460551e-05 +4863 9.734 -1.8409980e-05 -2.5390427e-05 +4864 9.736 -1.8359269e-05 -2.5320496e-05 +4865 9.738 -1.8308698e-05 -2.5250757e-05 +4866 9.74 -1.8258266e-05 -2.5181211e-05 +4867 9.742 -1.8207973e-05 -2.5111856e-05 +4868 9.744 -1.8157818e-05 -2.5042691e-05 +4869 9.746 -1.8107802e-05 -2.4973718e-05 +4870 9.748 -1.8057923e-05 -2.4904934e-05 +4871 9.75 -1.8008182e-05 -2.4836340e-05 +4872 9.752 -1.7958578e-05 -2.4767934e-05 +4873 9.754 -1.7909110e-05 -2.4699717e-05 +4874 9.756 -1.7859779e-05 -2.4631688e-05 +4875 9.758 -1.7810583e-05 -2.4563846e-05 +4876 9.76 -1.7761523e-05 -2.4496191e-05 +4877 9.762 -1.7712598e-05 -2.4428722e-05 +4878 9.764 -1.7663808e-05 -2.4361439e-05 +4879 9.766 -1.7615153e-05 -2.4294342e-05 +4880 9.768 -1.7566631e-05 -2.4227429e-05 +4881 9.77 -1.7518243e-05 -2.4160700e-05 +4882 9.772 -1.7469988e-05 -2.4094155e-05 +4883 9.774 -1.7421866e-05 -2.4027794e-05 +4884 9.776 -1.7373877e-05 -2.3961615e-05 +4885 9.778 -1.7326019e-05 -2.3895618e-05 +4886 9.78 -1.7278294e-05 -2.3829803e-05 +4887 9.782 -1.7230700e-05 -2.3764169e-05 +4888 9.784 -1.7183237e-05 -2.3698716e-05 +4889 9.786 -1.7135905e-05 -2.3633444e-05 +4890 9.788 -1.7088703e-05 -2.3568351e-05 +4891 9.79 -1.7041632e-05 -2.3503437e-05 +4892 9.792 -1.6994689e-05 -2.3438702e-05 +4893 9.794 -1.6947877e-05 -2.3374145e-05 +4894 9.796 -1.6901193e-05 -2.3309766e-05 +4895 9.798 -1.6854637e-05 -2.3245564e-05 +4896 9.8 -1.6808210e-05 -2.3181539e-05 +4897 9.802 -1.6761911e-05 -2.3117691e-05 +4898 9.804 -1.6715739e-05 -2.3054018e-05 +4899 9.806 -1.6669695e-05 -2.2990521e-05 +4900 9.808 -1.6623777e-05 -2.2927198e-05 +4901 9.81 -1.6577986e-05 -2.2864050e-05 +4902 9.812 -1.6532321e-05 -2.2801076e-05 +4903 9.814 -1.6486782e-05 -2.2738275e-05 +4904 9.816 -1.6441368e-05 -2.2675647e-05 +4905 9.818 -1.6396079e-05 -2.2613191e-05 +4906 9.82 -1.6350915e-05 -2.2550908e-05 +4907 9.822 -1.6305875e-05 -2.2488796e-05 +4908 9.824 -1.6260960e-05 -2.2426855e-05 +4909 9.826 -1.6216168e-05 -2.2365085e-05 +4910 9.828 -1.6171499e-05 -2.2303484e-05 +4911 9.83 -1.6126954e-05 -2.2242054e-05 +4912 9.832 -1.6082531e-05 -2.2180792e-05 +4913 9.834 -1.6038230e-05 -2.2119699e-05 +4914 9.836 -1.5994052e-05 -2.2058775e-05 +4915 9.838 -1.5949995e-05 -2.1998018e-05 +4916 9.84 -1.5906060e-05 -2.1937429e-05 +4917 9.842 -1.5862245e-05 -2.1877006e-05 +4918 9.844 -1.5818552e-05 -2.1816750e-05 +4919 9.846 -1.5774978e-05 -2.1756660e-05 +4920 9.848 -1.5731525e-05 -2.1696735e-05 +4921 9.85 -1.5688191e-05 -2.1636975e-05 +4922 9.852 -1.5644977e-05 -2.1577380e-05 +4923 9.854 -1.5601882e-05 -2.1517949e-05 +4924 9.856 -1.5558905e-05 -2.1458681e-05 +4925 9.858 -1.5516047e-05 -2.1399577e-05 +4926 9.86 -1.5473306e-05 -2.1340636e-05 +4927 9.862 -1.5430684e-05 -2.1281857e-05 +4928 9.864 -1.5388179e-05 -2.1223239e-05 +4929 9.866 -1.5345791e-05 -2.1164783e-05 +4930 9.868 -1.5303520e-05 -2.1106489e-05 +4931 9.87 -1.5261365e-05 -2.1048354e-05 +4932 9.872 -1.5219326e-05 -2.0990380e-05 +4933 9.874 -1.5177403e-05 -2.0932565e-05 +4934 9.876 -1.5135596e-05 -2.0874910e-05 +4935 9.878 -1.5093904e-05 -2.0817413e-05 +4936 9.88 -1.5052326e-05 -2.0760075e-05 +4937 9.882 -1.5010863e-05 -2.0702895e-05 +4938 9.884 -1.4969514e-05 -2.0645872e-05 +4939 9.886 -1.4928280e-05 -2.0589006e-05 +4940 9.888 -1.4887158e-05 -2.0532297e-05 +4941 9.89 -1.4846150e-05 -2.0475744e-05 +4942 9.892 -1.4805255e-05 -2.0419346e-05 +4943 9.894 -1.4764473e-05 -2.0363104e-05 +4944 9.896 -1.4723803e-05 -2.0307017e-05 +4945 9.898 -1.4683245e-05 -2.0251084e-05 +4946 9.9 -1.4642798e-05 -2.0195306e-05 +4947 9.902 -1.4602463e-05 -2.0139681e-05 +4948 9.904 -1.4562239e-05 -2.0084209e-05 +4949 9.906 -1.4522126e-05 -2.0028890e-05 +4950 9.908 -1.4482124e-05 -1.9973723e-05 +4951 9.91 -1.4442231e-05 -1.9918708e-05 +4952 9.912 -1.4402449e-05 -1.9863845e-05 +4953 9.914 -1.4362776e-05 -1.9809132e-05 +4954 9.916 -1.4323212e-05 -1.9754571e-05 +4955 9.918 -1.4283757e-05 -1.9700160e-05 +4956 9.92 -1.4244411e-05 -1.9645898e-05 +4957 9.922 -1.4205174e-05 -1.9591786e-05 +4958 9.924 -1.4166044e-05 -1.9537823e-05 +4959 9.926 -1.4127022e-05 -1.9484009e-05 +4960 9.928 -1.4088108e-05 -1.9430342e-05 +4961 9.93 -1.4049301e-05 -1.9376824e-05 +4962 9.932 -1.4010601e-05 -1.9323453e-05 +4963 9.934 -1.3972007e-05 -1.9270229e-05 +4964 9.936 -1.3933520e-05 -1.9217151e-05 +4965 9.938 -1.3895138e-05 -1.9164220e-05 +4966 9.94 -1.3856863e-05 -1.9111434e-05 +4967 9.942 -1.3818692e-05 -1.9058794e-05 +4968 9.944 -1.3780627e-05 -1.9006299e-05 +4969 9.946 -1.3742667e-05 -1.8953948e-05 +4970 9.948 -1.3704812e-05 -1.8901742e-05 +4971 9.95 -1.3667060e-05 -1.8849679e-05 +4972 9.952 -1.3629413e-05 -1.8797760e-05 +4973 9.954 -1.3591869e-05 -1.8745984e-05 +4974 9.956 -1.3554429e-05 -1.8694350e-05 +4975 9.958 -1.3517091e-05 -1.8642858e-05 +4976 9.96 -1.3479857e-05 -1.8591508e-05 +4977 9.962 -1.3442725e-05 -1.8540300e-05 +4978 9.964 -1.3405696e-05 -1.8489233e-05 +4979 9.966 -1.3368768e-05 -1.8438306e-05 +4980 9.968 -1.3331943e-05 -1.8387520e-05 +4981 9.97 -1.3295218e-05 -1.8336873e-05 +4982 9.972 -1.3258595e-05 -1.8286366e-05 +4983 9.974 -1.3222073e-05 -1.8235998e-05 +4984 9.976 -1.3185651e-05 -1.8185769e-05 +4985 9.978 -1.3149329e-05 -1.8135678e-05 +4986 9.98 -1.3113108e-05 -1.8085725e-05 +4987 9.982 -1.3076986e-05 -1.8035909e-05 +4988 9.984 -1.3040964e-05 -1.7986231e-05 +4989 9.986 -1.3005041e-05 -1.7936690e-05 +4990 9.988 -1.2969217e-05 -1.7887285e-05 +4991 9.99 -1.2933492e-05 -1.7838016e-05 +4992 9.992 -1.2897865e-05 -1.7788883e-05 +4993 9.994 -1.2862337e-05 -1.7739885e-05 +4994 9.996 -1.2826906e-05 -1.7691022e-05 +4995 9.998 -1.2791572e-05 -1.7642293e-05 + diff --git a/examples/nb3b/data.NaPO3 b/examples/nb3b/data.NaPO3 new file mode 100644 index 0000000000..9db7e97ab3 --- /dev/null +++ b/examples/nb3b/data.NaPO3 @@ -0,0 +1,6020 @@ +LAMMPS data file via write_data, version 3 Aug 2023, timestep = 0, units = metal + +3000 atoms +3 atom types + +0 34.33782 xlo xhi +0 34.33782 ylo yhi +0 34.33782 zlo zhi + +Masses + +1 30.973762 +2 22.98976928 +3 15.9994 + +Atoms # charge + +8 1 3 1.8228596003598336 5.87510492688523 3.5062216239063626 0 0 0 +17 1 3 33.5723745447357 0.5375481258233651 3.8861638381362598 -1 0 0 +34 1 3 3.184933838096731 2.8311921099836765 5.164134822893228 0 0 0 +122 1 3 0.2370455745732013 4.372425131512704 7.54150797495957 0 0 0 +2961 3 -1.2 30.697407751732634 12.621061288706011 10.877176004694533 0 0 0 +1707 3 -1.2 12.3866317679469 11.97008050069813 10.482129353238545 0 0 0 +318 1 3 3.4858438136007606 4.520547981195128 1.363444333226657 0 0 0 +2958 3 -1.2 28.400787036084672 16.093543678904396 13.83941720223406 0 0 0 +458 1 3 33.749416075600095 4.741468617297005 4.6740969760068705 -1 0 0 +582 1 3 3.0593218994819846 3.5998240999490476 7.959064854740526 0 0 0 +2928 3 -1.2 27.93491158508066 12.130073721291792 13.565876649432077 0 0 0 +2807 3 -1.2 30.944427068568565 14.427453685922131 9.19235161047031 0 0 0 +782 2 0.6 0.28288503013923894 7.188860597571288 6.003881058807563 0 0 0 +2651 3 -1.2 27.50283296936166 15.480351807341014 8.923498916017095 0 0 0 +2619 3 -1.2 29.560955108562094 13.010220958747707 15.214294796064776 0 0 0 +1081 2 0.6 2.1001400722641788 1.4407841249642783 2.6310621865527515 0 0 0 +2596 3 -1.2 28.206227044747862 13.670025701498188 11.680622025211967 0 0 0 +584 1 3 19.910813483394687 14.765538517207547 12.498288312580092 0 0 0 +2592 3 -1.2 30.24617420399123 15.720368595458117 17.126420533088975 0 0 0 +1418 3 -1.2 34.026842304390044 3.010028930026641 7.503038098214573 -1 0 0 +1468 3 -1.2 1.1129934358525364 6.999764658255995 2.8670269774364625 0 0 0 +289 1 3 0.7971138163005053 3.720423599365621 0.3203086740122359 0 0 0 +2450 3 -1.2 27.83994140550279 11.222021949910367 11.22495605557564 0 0 0 +1547 3 -1.2 34.127502022299 1.569280415791703 3.0220282639712077 -1 0 0 +1576 3 -1.2 2.3957808294164895 6.2772727415252625 4.821112884850933 0 0 0 +1664 3 -1.2 32.78545834371478 3.6200071646788192 4.613386796565437 -1 0 0 +1686 3 -1.2 5.187414626819637 5.809560215560438 6.828801754128944 0 0 0 +1704 3 -1.2 3.718249398587753 3.036722961891026 6.678678942613548 0 0 0 +1932 3 -1.2 0.7518754594183069 4.756883054720914 3.8017697660892433 0 0 0 +569 1 3 25.765866719197614 9.15789898544425 12.973470090013436 0 0 0 +191 1 3 20.47898434174292 8.870649134062761 10.612831154514424 0 0 0 +2086 3 -1.2 2.9558995063443207 5.455654934825284 2.462137804241733 0 0 0 +2157 3 -1.2 34.24983807359828 5.033781002280117 6.169927897434142 -1 0 0 +6 1 3 21.06882093883699 15.884831991448587 16.83547943279087 0 0 0 +2225 3 -1.2 5.151075983865144 1.2402032969078276 0.6837811819178949 0 0 0 +2398 3 -1.2 29.246657760866544 10.606949877527057 15.205574302728138 0 0 0 +2088 3 -1.2 10.3049162634082 3.6176100147280743 0.8506571757770954 0 0 0 +2317 3 -1.2 5.59707186075629 6.054378880723959 2.1477523521609925 0 0 0 +2318 3 -1.2 3.4033169644554495 1.5541425495222554 4.448975001106595 0 0 0 +2333 3 -1.2 4.7327075340583455 3.5914226675211354 1.22692651098072 0 0 0 +2891 3 -1.2 16.49446327774468 11.844102607816644 8.839289765033168 0 0 0 +2541 3 -1.2 1.7349557060090126 2.926142730564026 5.482756437635006 0 0 0 +2548 3 -1.2 5.629882876940062 6.868190197095866 4.58639897539239 0 0 0 +2656 3 -1.2 31.936250635835666 6.188240192140672 7.086542776075716 -1 0 0 +1363 3 -1.2 10.02812650523174 1.228975179586754 0.7578128940749129 0 0 0 +2906 3 -1.2 3.796844383004932 3.866175669665926 4.308257722475782 0 0 0 +2916 3 -1.2 0.06387627177346021 4.814565327885862 0.9453037463439108 0 0 0 +2998 3 -1.2 33.05358421716851 5.973900637111086 4.194018532156243 -1 0 0 +11 1 3 5.125385690643427 5.7084809905452545 8.410933828301461 0 0 0 +2148 3 -1.2 29.636357987071232 7.504182611122242 12.980479879837201 0 0 0 +203 1 3 10.634289131337653 2.34594791856994 1.7316816963443238 0 0 0 +222 1 3 14.879656798461301 0.2958188477203788 7.488830394817911 0 0 0 +225 1 3 5.764391784399813 7.262132317661055 3.0439498642692486 0 0 0 +342 1 3 12.629127890393836 3.725023438061583 7.982760509092106 0 0 0 +2124 3 -1.2 31.116008337586443 14.182901017241301 12.856869594537924 0 0 0 +1940 3 -1.2 26.158199155880396 9.343830525683826 11.41488470181813 0 0 0 +505 1 3 13.216210333802689 3.2921898239118965 2.561753634990455 0 0 0 +549 1 3 9.152954560978827 5.634224636313086 5.921240953248451 0 0 0 +2219 3 -1.2 30.944947561366018 0.3163886539575838 3.4838084627097836 0 0 0 +573 1 3 6.196203823902112 5.819928137239532 5.597537073065396 0 0 0 +1966 3 -1.2 3.4927380069567433 5.451395349821202 0.08965098226947106 0 0 0 +588 1 3 11.593170788536568 8.238513625008896 3.0680629301141082 0 0 0 +596 1 3 5.2262369704180385 2.5690915364034423 0.05761374226515607 0 0 0 +623 2 0.6 10.787356338330996 8.565121414195154 6.473338045443549 0 0 0 +649 2 0.6 15.077085401221376 1.7138922627443811 0.3128346335307952 0 0 0 +684 2 0.6 10.666500249206777 3.5591567949675635 4.70166733076542 0 0 0 +716 2 0.6 13.203642475698972 0.5099672283760172 4.2994422826146215 0 0 0 +735 2 0.6 13.341897976904448 7.799817850452832 0.29172316243779417 0 0 0 +2503 3 -1.2 2.202092827720077 3.5881443041544583 1.1105000889744994 0 0 0 +2840 3 -1.2 19.670212193466593 8.353895876329942 13.425602487452794 0 0 0 +815 2 0.6 12.618339240196994 2.379314216157603 5.5873233436255125 0 0 0 +845 2 0.6 6.845076220158212 0.6157769344531513 6.685728577784767 0 0 0 +1001 2 0.6 7.691160893215583 4.973779078257769 2.9037324169636425 0 0 0 +1023 2 0.6 14.77808445445625 3.72347714760589 5.379378133679625 0 0 0 +1041 2 0.6 9.348505986446199 6.833416160263685 2.4534289204924407 0 0 0 +1666 3 -1.2 10.354671089943698 12.713915786686298 11.845613247705973 0 0 0 +1089 2 0.6 8.078052841742835 2.426185054636776 5.410175156181848 0 0 0 +1135 2 0.6 6.061592363516195 2.8824404664415098 3.4483709829785965 0 0 0 +1082 2 0.6 33.067195708943885 14.326925029155769 16.85186245579751 -1 0 0 +1202 3 -1.2 7.7300627334886505 0.6128797235614499 1.5893680414579219 0 0 0 +1273 3 -1.2 10.041182931367445 6.459930488394309 6.752118264252442 0 0 0 +2790 3 -1.2 18.698663552789284 10.352107863221546 8.696923055984517 0 0 0 +1308 3 -1.2 14.008478627759914 0.7563970512501356 6.410523602876454 0 0 0 +1344 3 -1.2 13.910512670453327 2.459991563665669 3.5785446874682187 0 0 0 +2496 3 -1.2 14.26275196533474 12.55437432957031 0.057049817919180394 0 0 0 +1599 3 -1.2 30.3934761763685 11.811096653218904 13.221594172156172 0 0 0 +1453 3 -1.2 7.598057635818902 6.16897169319817 6.1733185397543835 0 0 0 +1645 3 -1.2 9.11288571171751 0.5032320155394738 6.389345313591313 0 0 0 +560 1 3 8.956225366522052 4.263972780787976 0.42138041054240266 0 0 0 +2763 3 -1.2 17.915430169372115 10.892609163940012 13.452742223281668 0 0 0 +1888 3 -1.2 14.935255379938596 6.792014286636484 1.8909144763129722 0 0 0 +1915 3 -1.2 14.744406093871604 7.610211712186383 8.111338604936435 0 0 0 +1998 3 -1.2 13.942714325429854 3.7396674998662247 1.3493745015296459 0 0 0 +2684 3 -1.2 18.31042134805579 11.333352881153932 10.92161099281336 0 0 0 +2085 3 -1.2 6.456771896304846 4.584630133017286 4.831658121295312 0 0 0 +2580 3 -1.2 16.532573776555584 12.901815344045703 15.42859041555858 0 0 0 +2164 3 -1.2 9.171585482380756 5.622176168018752 4.423916832858168 0 0 0 +2173 3 -1.2 12.11300781317177 2.1390336280135736 1.946992000654117 0 0 0 +2188 3 -1.2 11.73915450864615 7.086373018379213 2.137315483015844 0 0 0 +2387 3 -1.2 11.910863381919985 9.665135335491941 0.043617148205173616 0 0 0 +2204 3 -1.2 9.28186238877823 4.20449401967803 6.333880612061862 0 0 0 +2215 3 -1.2 11.187871457479789 0.8856134417791364 5.0918611139144785 0 0 0 +2234 3 -1.2 7.834962301662877 3.5993618365517723 1.1604472494671545 0 0 0 +2302 3 -1.2 13.072601858437853 7.552983140970049 5.635940502101293 0 0 0 +2446 3 -1.2 18.31216539758974 7.074186446591256 15.07778959983515 0 0 0 +2330 3 -1.2 5.0709405865282156 13.122581416169801 0.7550178311680203 0 0 0 +2455 3 -1.2 7.358168985606684 0.5430731020399615 3.942240768461119 0 0 0 +693 2 0.6 23.64510051654558 16.85088238082749 9.233917287134679 0 0 0 +2523 3 -1.2 12.100811330686883 4.117383013989126 3.0842753884279475 0 0 0 +2549 3 -1.2 9.782854897759485 2.3575693007868823 2.921077135195698 0 0 0 +1930 3 -1.2 22.785932961046914 0.09118353013740653 15.257340503312522 0 0 0 +2957 3 -1.2 12.768260575061184 4.329532391969262 6.624577591065975 0 0 0 +213 1 3 20.19711279325501 5.031568286855892 6.641786910149037 0 0 0 +1498 3 -1.2 30.685169592917255 11.948002274493305 8.473450089298108 0 0 0 +464 1 3 15.435080932292966 6.357110619331396 3.231251730634334 0 0 0 +512 1 3 17.098416327823067 2.2273321576210647 6.810066808729312 0 0 0 +1199 2 0.6 23.01704455167944 1.8460378058308333 9.671691780904007 0 0 0 +615 2 0.6 18.140502106360138 1.6776064085734577 0.26363526691198486 0 0 0 +619 2 0.6 18.361303784581477 7.859461434749044 2.5618864760772437 0 0 0 +779 2 0.6 17.3261645886555 6.640682104898295 1.014836720901021 0 0 0 +835 2 0.6 18.531106780313802 4.324259965007819 2.6883202268587447 0 0 0 +1045 2 0.6 18.208294227414285 1.381646179992118 3.4304115979114185 0 0 0 +1191 2 0.6 16.28651569673256 3.8753290338420885 0.937442232616161 0 0 0 +1467 3 -1.2 27.28104490452926 9.878764583499917 9.186789580670752 0 0 0 +1345 3 -1.2 28.57681130631935 8.799479828136409 11.008805666034675 0 0 0 +1351 3 -1.2 16.878383718624406 8.235660543720002 6.943020663478171 0 0 0 +1406 3 -1.2 20.264272641793983 2.382358498268816 3.5499644342898518 0 0 0 +1293 3 -1.2 27.152035261746736 9.397595375027551 13.484448832656165 0 0 0 +1137 2 0.6 30.083486815125166 15.187899518599686 14.780481713938116 0 0 0 +2401 3 -1.2 15.036776106431523 15.210693037606696 10.786141661501212 0 0 0 +1905 3 -1.2 18.490499375925605 1.4758783434425842 6.9726334982061 0 0 0 +2267 3 -1.2 15.787820563070165 8.014740798868225 14.321498325771165 0 0 0 +1995 3 -1.2 16.719603319289924 2.1316933116198635 5.385914282619352 0 0 0 +2008 3 -1.2 20.050852161175186 4.0120939613664355 5.405757901089055 0 0 0 +2015 3 -1.2 16.91156689502158 6.073525123528359 3.1340481287857855 0 0 0 +2356 3 -1.2 14.749868491357551 5.139288382210879 3.7548570006848507 0 0 0 +2381 3 -1.2 16.649525647303083 1.7314622552489785 1.8743953461959773 0 0 0 +917 2 0.6 27.143670604968314 9.681447285762887 15.997220238114913 0 0 0 +2473 3 -1.2 16.989450285935945 3.5915396400375452 7.329022706162237 0 0 0 +910 2 0.6 26.450286162691434 13.30643739883064 15.592138668258315 0 0 0 +2673 3 -1.2 19.34173285755745 6.214248909579634 6.52179745065282 0 0 0 +2734 3 -1.2 21.18932691275593 7.463852745990761 3.6327475087984333 0 0 0 +2922 3 -1.2 15.137485700483756 7.503806333858288 4.27470062197817 0 0 0 +2951 3 -1.2 18.359236884467634 4.619873376051784 0.26122340837061997 0 0 0 +38 1 3 24.816988756166324 4.160958904445498 6.905368602865206 0 0 0 +63 1 3 22.129279715850583 5.792184560366883 1.7258760439413 0 0 0 +868 2 0.6 29.844640538271136 15.950067416368196 11.646522957324878 0 0 0 +285 1 3 23.260336226129755 1.804396044571201 5.926679989260175 0 0 0 +1654 3 -1.2 11.503804005659727 8.278931569974432 16.17615432794268 0 0 0 +703 2 0.6 31.50402532327435 17.05771223951092 9.279599763035264 0 0 0 +372 1 3 21.030496793958093 3.128600083629055 4.569472060759473 0 0 0 +2205 3 -1.2 17.167236941528504 16.262620570630578 10.24892627824235 0 0 0 +629 2 0.6 25.41145871697226 6.650980675312553 2.5324447774882324 0 0 0 +672 2 0.6 24.431448252000397 4.1838646078887 3.502175023663834 0 0 0 +660 2 0.6 27.4372644663658 15.972114927668642 11.742575060508866 0 0 0 +719 2 0.6 21.903874324800395 2.81438757104636 1.8805569633193675 0 0 0 +752 2 0.6 22.732830830118207 6.373778841378722 4.853180891874569 0 0 0 +627 2 0.6 30.935112973012266 9.707819140347835 10.053110003878716 0 0 0 +603 2 0.6 26.852668040812517 15.637842880595832 15.377269219366996 0 0 0 +1871 3 -1.2 19.206844940554202 13.891634378498571 13.469180199305672 0 0 0 +934 2 0.6 34.20545704676974 0.37993301613661085 1.019934709266085 -1 0 0 +762 2 0.6 7.389705778524074 17.118990107149518 15.888560298979044 0 0 0 +1538 3 -1.2 24.10314051087794 1.8162424145039802 4.697187009822323 0 0 0 +1626 3 -1.2 21.76491818818874 2.100247350326784 5.535270593923806 0 0 0 +1657 3 -1.2 19.899057036739958 4.116062417160987 7.870819241158122 0 0 0 +1741 3 -1.2 25.068359558255533 4.013191372005472 0.5671485688760626 0 0 0 +692 2 0.6 6.717646557480478 9.197210513884611 1.1850044101999335 0 0 0 +1987 3 -1.2 23.768865690162635 2.9988477928595354 6.848911206921669 0 0 0 +2087 3 -1.2 23.33798148096364 6.044667912476271 2.531974985465457 0 0 0 +2104 3 -1.2 22.21325173211058 3.877401990277711 4.086946268154399 0 0 0 +2222 3 -1.2 24.592364393192106 7.495951095474721 5.379186724796142 0 0 0 +2282 3 -1.2 22.764891861561303 4.712741210707209 0.6633079795207264 0 0 0 +2309 3 -1.2 21.64592022210278 5.3253980745912575 6.617966640852154 0 0 0 +1758 3 -1.2 16.62861785314105 9.159019113750952 9.223313856097084 0 0 0 +1724 3 -1.2 19.211671709781616 16.201406376238065 12.50593471851688 0 0 0 +2659 3 -1.2 21.716339345800833 6.960875484332111 0.7650451363813008 0 0 0 +2699 3 -1.2 22.551222241637795 0.6500636821567315 1.8072497502838032 0 0 0 +891 2 0.6 9.981668319834668 17.085614621179452 0.9939152739129233 0 0 0 +1695 3 -1.2 18.8866672093461 8.894372714271833 10.552089215583093 0 0 0 +2846 3 -1.2 24.220543649421433 5.393693203082043 7.666267175183327 0 0 0 +2151 3 -1.2 7.649319392583413 13.370772877335787 8.217932606990376 0 0 0 +2908 3 -1.2 23.47751594569011 0.507806700937784 6.614001512568061 0 0 0 +2242 3 -1.2 10.671628661819751 9.044682671440839 14.049714344732488 0 0 0 +2940 3 -1.2 20.845441860260575 5.162523737022697 2.126749268092696 0 0 0 +145 1 3 28.221177842544627 0.3911404140810752 5.459463655677135 0 0 0 +159 1 3 28.506399659282717 1.9532541195051996 0.9117370541153925 0 0 0 +531 1 3 27.40629627179996 9.821430234140855 10.651071354273506 0 0 0 +1573 3 -1.2 16.78286293242739 10.085992840488297 11.375013139207619 0 0 0 +284 1 3 27.696171077741095 4.7789713169058246 0.3464529556665972 0 0 0 +2456 3 -1.2 27.756270800816807 3.1860363321056577 0.28093718881104024 0 0 0 +656 2 0.6 31.04298922685021 4.127017923815153 2.862017235501279 0 0 0 +658 2 0.6 29.115643170053673 6.114788210125984 2.892737299652025 0 0 0 +1572 3 -1.2 19.989499640979194 16.09764163171018 15.814323731953337 0 0 0 +811 2 0.6 28.67450336617217 6.384916399908791 5.9395130975475015 0 0 0 +836 2 0.6 28.168045087665206 3.8562236892281754 6.494967213281092 0 0 0 +972 2 0.6 31.00078988415413 6.4179824978227655 4.853598421833192 0 0 0 +998 2 0.6 30.595416447965164 2.568540218062925 4.528098091364968 0 0 0 +1125 2 0.6 27.561171585851874 3.673400364546202 3.9694631376863625 0 0 0 +1184 2 0.6 31.02672435453094 4.06639037549849 7.051161665199886 0 0 0 +1461 3 -1.2 27.393696057086437 0.7750347987784595 0.8768261500932388 0 0 0 +2753 3 -1.2 11.066882521375806 1.5436257303651941 17.126470420092467 0 0 0 +1791 3 -1.2 22.192907816518446 16.90284759389284 16.605002157828803 0 0 0 +1543 3 -1.2 33.651136123770726 0.5606327941722694 5.319791250232987 -1 0 0 +2002 3 -1.2 25.293428153511687 4.496253887843739 5.553647226443952 0 0 0 +2080 3 -1.2 27.743141245545694 1.7661481967080417 5.3552697776445095 0 0 0 +2423 3 -1.2 25.223419010657725 16.805361151933894 1.9494341430740598 0 0 0 +2264 3 -1.2 29.530916101615585 4.665729894341677 4.486494888591105 0 0 0 +2429 3 -1.2 29.24381165335954 5.14426401554394 0.1859015181510137 0 0 0 +1319 3 -1.2 19.26326580794803 11.414772082660203 16.91410095665116 0 0 0 +2463 3 -1.2 26.650606076792183 7.136250897858355 6.745781515036149 0 0 0 +2494 3 -1.2 30.42547123815706 8.088607669085949 6.664179646845857 0 0 0 +2698 3 -1.2 29.631071045059315 0.3049619146754569 6.13990670031101 0 0 0 +2825 3 -1.2 28.958540243049022 2.3431804657991218 2.249896354783249 0 0 0 +2834 3 -1.2 27.306355031725392 5.400209061391878 1.62891323739481 0 0 0 +163 1 3 27.40609807645922 12.5069231996507 12.10331143382893 0 0 0 +2966 3 -1.2 30.065794171407465 8.025315694176975 3.6168946099041146 0 0 0 +12 1 3 1.6220059168633032 14.613397822152786 2.137565484370139 0 0 0 +53 1 3 34.10218895163492 10.858257676407556 2.964541469755975 -1 0 0 +126 1 3 0.2098135881608339 9.85408071715391 5.664070030296013 0 0 0 +209 1 3 2.6217891895067953 11.957920551762607 2.853951283574642 0 0 0 +2391 3 -1.2 8.925114384163926 16.225364076026906 14.406478573274374 0 0 0 +1253 3 -1.2 16.394335878347242 12.43889956911168 12.15556741690782 0 0 0 +426 1 3 1.964343044347403 12.122750379390265 6.5964139519322265 0 0 0 +548 1 3 4.042651190847374 12.181160299353666 0.2505307825503917 0 0 0 +718 2 0.6 33.763329870115385 13.802908022018148 4.9688795714723595 -1 0 0 +774 2 0.6 4.7845013810466535 12.242921294341409 5.262186973085306 0 0 0 +557 1 3 5.454316121777518 8.078615659380779 16.409913118322134 0 0 0 +873 2 0.6 5.0852795714249055 9.908854774201167 5.899257301527475 0 0 0 +923 2 0.6 5.523172160277404 10.951031853092395 2.668644146773366 0 0 0 +1347 3 -1.2 11.852613169320815 15.605360501322147 10.752587596352669 0 0 0 +976 2 0.6 2.872195914698283 8.711262505400228 3.9724610559785374 0 0 0 +1170 2 0.6 2.655879064030566 15.556006545435208 5.333866653012758 0 0 0 +1187 2 0.6 3.1248978810241264 9.05434076068433 7.178046941577896 0 0 0 +1404 3 -1.2 1.4170997815328406 9.58013715715741 1.8297419153653036 0 0 0 +1421 3 -1.2 5.6172224452265835 13.376803523881339 3.4014540209129773 0 0 0 +1435 3 -1.2 33.24429774376179 9.546158199553354 6.2893341733041055 -1 0 0 +1499 3 -1.2 1.4043173137759493 8.993758848787095 5.872017880962093 0 0 0 +1533 3 -1.2 31.694044922444338 14.239980292062926 5.599241836434841 -1 0 0 +1539 3 -1.2 0.8231365812889085 15.228742460685625 3.2185649491136115 0 0 0 +1042 2 0.6 16.43575020015038 14.295008593103923 13.531238169133472 0 0 0 +1622 3 -1.2 4.34879063294917 15.479327210783381 3.8971855675574933 0 0 0 +1722 3 -1.2 1.7856562152982423 15.16789826008646 7.4559402903682335 0 0 0 +1763 3 -1.2 3.101039513712694 11.199798281891479 6.802173262471717 0 0 0 +1766 3 -1.2 1.1151764522943395 11.745868794933294 3.1533801947654694 0 0 0 +1025 2 0.6 14.671627256549009 11.511289941803854 15.810298946662574 0 0 0 +1813 3 -1.2 3.16352469732681 11.623302780654235 1.4024735338648942 0 0 0 +1825 3 -1.2 5.672513105772113 15.395463575605875 1.7944138279943833 0 0 0 +1012 2 0.6 17.100078172474873 10.76993193331919 15.786767836388053 0 0 0 +2156 3 -1.2 2.3978949016133346 15.487447280411425 1.2248882437205943 0 0 0 +690 2 0.6 17.672315819581463 13.725817831958995 9.82356496611769 0 0 0 +2251 3 -1.2 0.6780050926363054 11.322940315761715 6.048094838015902 0 0 0 +2281 3 -1.2 34.326109577863996 9.76028067450365 4.101063598879842 -1 0 0 +2303 3 -1.2 2.67619021345124 13.516583387875 2.7133884410406153 0 0 0 +686 2 0.6 14.709993035054392 14.456721591461074 15.430953209472964 0 0 0 +2419 3 -1.2 33.09118659188431 11.699781689287772 3.7694990595182225 -1 0 0 +2498 3 -1.2 33.15481333817167 17.035422796749096 0.37485650318401165 -1 0 0 +2515 3 -1.2 4.8001034475511215 8.294639936690308 2.591348872524802 0 0 0 +2597 3 -1.2 2.284067094156926 13.082870773834115 5.520253982615054 0 0 0 +621 2 0.6 18.152115050963754 14.545496722707949 15.669729371706962 0 0 0 +2736 3 -1.2 33.56199018857875 10.810057942290012 1.5789496024904957 -1 0 0 +2743 3 -1.2 3.4468734506916476 11.169509307374188 3.775006222983322 0 0 0 +2751 3 -1.2 0.7787222975551522 13.654151573320712 1.3134340996787754 0 0 0 +2949 3 -1.2 4.39100617067191 16.74425930090203 7.2679032134947 0 0 0 +2991 3 -1.2 1.5005314314771256 12.840535260021406 7.8994390500273575 0 0 0 +93 1 3 5.5251004820425695 14.853014281869871 3.2898451575148684 0 0 0 +113 1 3 9.357159783290546 14.409820172885402 2.504591007627544 0 0 0 +125 1 3 13.698210345660765 12.39192962609301 1.4563135878800573 0 0 0 +498 1 3 17.32911916441924 11.311655386234838 12.181263708524865 0 0 0 +176 1 3 7.649996430583427 9.9669102517475 7.597887943781673 0 0 0 +248 1 3 10.512721638203779 9.189046740091621 0.5145828588369955 0 0 0 +493 1 3 19.704979303444116 11.343280358097777 7.973806073291758 0 0 0 +354 1 3 13.9409176582109 8.415852682250383 4.8108974940155 0 0 0 +356 1 3 10.658535989107017 11.512424274751867 5.059616036713927 0 0 0 +459 1 3 7.880542756387041 14.68226710430678 5.13285679240167 0 0 0 +475 1 3 11.116424655463083 12.065858732914755 7.825842346967625 0 0 0 +515 1 3 5.905805828224932 15.201665655521213 0.2226524946642345 0 0 0 +452 1 3 15.108335213457853 12.014949000542016 8.214167796362021 0 0 0 +1768 3 -1.2 6.378645280523506 11.801054396371576 15.85115498028605 0 0 0 +643 2 0.6 13.371176580149273 13.769773065689371 4.960673753659656 0 0 0 +651 2 0.6 8.853423909575097 15.459527125705208 8.233347510933857 0 0 0 +307 1 3 17.752761744502596 10.013413635762143 10.001316755321112 0 0 0 +819 2 0.6 11.337884871667493 14.654790570108824 6.234406445762218 0 0 0 +842 2 0.6 10.812828979675967 15.032426593532104 0.29006282771660824 0 0 0 +888 2 0.6 8.357986460498209 9.754460499854503 2.9435410840763923 0 0 0 +941 2 0.6 11.08126023596597 11.623527793763676 2.2841690814096305 0 0 0 +943 2 0.6 8.420227794144337 8.7139765092658 4.699203188208425 0 0 0 +970 2 0.6 12.705478094553884 15.55001265376947 2.4929128986588505 0 0 0 +1166 2 0.6 7.516801678667312 11.900362296177786 3.550034678748337 0 0 0 +1217 3 -1.2 9.647690947278262 13.168141691207184 1.7240978715428343 0 0 0 +1400 3 -1.2 6.243969858998785 16.880732062958835 0.06499158898306741 0 0 0 +1641 3 -1.2 9.195713009543681 11.594960419981419 14.416325704928365 0 0 0 +1442 3 -1.2 7.161514881936357 13.42980358354603 5.789061842422809 0 0 0 +2091 3 -1.2 6.899910215317973 9.98401418180627 11.42944975601543 0 0 0 +1596 3 -1.2 7.204718313604991 7.618270013701662 2.8916596565255466 0 0 0 +1603 3 -1.2 8.683226316363557 9.496254132393396 6.641562359529139 0 0 0 +1634 3 -1.2 6.65942137004763 15.892401812270904 6.752252529148516 0 0 0 +1678 3 -1.2 15.827444000368605 12.353251696593984 4.117088848707607 0 0 0 +1714 3 -1.2 9.05582440812752 15.072934348478551 5.9171633763670535 0 0 0 +1732 3 -1.2 15.33828603322244 12.41867579909505 6.659667498643708 0 0 0 +1786 3 -1.2 6.885724110871477 11.271689945685669 7.015434258746191 0 0 0 +1840 3 -1.2 14.825181564175713 15.966231269006704 3.613207199170957 0 0 0 +1868 3 -1.2 10.299788272907398 8.503940308029884 9.214954631589173 0 0 0 +670 2 0.6 16.98364587908929 0.32598574942205155 12.708396377019408 0 0 0 +1956 3 -1.2 16.127342427945283 15.923581014796639 5.760805680893282 0 0 0 +2016 3 -1.2 11.368784840075628 12.62445903772358 4.365051890876006 0 0 0 +2063 3 -1.2 10.187310927233826 11.970192361710424 6.505668299394642 0 0 0 +2102 3 -1.2 12.296966318528975 12.683079400208037 7.175689274586963 0 0 0 +2123 3 -1.2 10.597975996766333 15.20874004795201 2.6276510986077755 0 0 0 +10 1 3 15.697871012294561 16.34860249620227 10.117366072909244 0 0 0 +2177 3 -1.2 13.520539705995125 11.088896453849145 2.0013265589433265 0 0 0 +2942 3 -1.2 8.25016177800817 10.473278615163403 8.851686317180144 0 0 0 +2178 3 -1.2 24.63368185929118 0.27842141618328364 13.565629649558966 0 0 0 +2470 3 -1.2 8.434677386341638 15.334182519249369 1.7646198567942926 0 0 0 +2472 3 -1.2 13.034047847417835 8.619123257155909 3.521123455025941 0 0 0 +2937 3 -1.2 15.166241592517405 7.693292106015787 11.959974407348513 0 0 0 +2883 3 -1.2 13.224333415072573 13.038853665244028 15.398065043953338 0 0 0 +2505 3 -1.2 12.37482496856758 15.860929583153142 4.79364316218136 0 0 0 +2556 3 -1.2 8.647126838796451 14.006856085436548 3.8435484293039566 0 0 0 +2628 3 -1.2 9.017450028241095 8.840132210842107 0.9693992493443016 0 0 0 +2660 3 -1.2 10.550528421142733 8.038655436477297 4.08863837877901 0 0 0 +2689 3 -1.2 9.510711019300182 11.12052791259004 4.187491816021347 0 0 0 +1649 3 -1.2 9.358115862478844 16.87422604270051 11.96733530604074 0 0 0 +2759 3 -1.2 7.675905738150477 11.38606443916342 1.0308112758370624 0 0 0 +2815 3 -1.2 10.974003153591296 9.321233397515643 2.1062001297043023 0 0 0 +2858 3 -1.2 14.524348522479807 9.643881351386474 5.34654778891758 0 0 0 +2863 3 -1.2 6.779457851221646 15.34299549990603 4.181231836942948 0 0 0 +2936 3 -1.2 11.549920014177694 10.356308457292243 5.341603355853948 0 0 0 +2967 3 -1.2 6.505186435657284 10.039005929397982 4.274244557675488 0 0 0 +60 1 3 15.495970530331466 15.773122550251424 7.26951593770238 0 0 0 +89 1 3 20.915924969003544 8.913716377787894 3.5176396533616168 0 0 0 +154 1 3 18.641042926314285 15.883189561740872 2.8548094879269454 0 0 0 +200 1 3 16.339367755978017 12.23766836974287 5.505319955209417 0 0 0 +218 1 3 16.18013045515762 7.99673590118485 8.232232511834146 0 0 0 +277 1 3 16.086333154651445 16.368133104838762 4.256463305165464 0 0 0 +2871 3 -1.2 15.250988499594165 16.6190462743386 8.646524158928058 0 0 0 +491 1 3 18.867981111433604 13.59550936248926 6.219981702638131 0 0 0 +669 2 0.6 14.89124294068493 9.256764705228388 1.5297530357482763 0 0 0 +1475 3 -1.2 14.510410879186521 13.160086990698964 8.93045061570829 0 0 0 +788 2 0.6 16.914453965748915 9.020601123882352 4.831532203241428 0 0 0 +851 2 0.6 18.953349937364813 8.73806910126358 6.266275606562154 0 0 0 +911 2 0.6 18.182654907740417 10.88288498191213 3.7659462216920208 0 0 0 +999 2 0.6 18.9200002287705 15.841497660972857 8.76665570960279 0 0 0 +1200 2 0.6 16.862979294929346 11.427546697250941 1.9482412663697013 0 0 0 +1320 3 -1.2 19.393694548905977 11.537873074080075 2.0267092309446713 0 0 0 +1323 3 -1.2 16.548009573216554 14.904377949341653 7.902262257163476 0 0 0 +946 2 0.6 9.596768550324851 1.9682309837327467 8.15717668645043 0 0 0 +1434 3 -1.2 17.22363418920935 15.562603725832583 3.404867638745535 0 0 0 +1623 3 -1.2 16.187880446743346 15.95581395764611 16.312657078228966 0 0 0 +1723 3 -1.2 19.64257838468673 9.24923649788804 4.215199794734691 0 0 0 +1802 3 -1.2 16.842083651093045 9.364370602102408 2.5860390121585657 0 0 0 +1955 3 -1.2 19.558518476240625 15.926129859675314 3.9999109629880305 0 0 0 +2058 3 -1.2 19.28791487902189 14.696885979533324 1.9849260855605617 0 0 0 +2175 3 -1.2 17.398414796912785 13.444297505320865 5.678967482735201 0 0 0 +2193 3 -1.2 19.69565055568496 13.014325168937322 5.1413932812645315 0 0 0 +755 2 0.6 29.74086160186781 8.575774638609255 16.664177956657007 0 0 0 +2504 3 -1.2 19.40603063961719 14.861347755991765 6.753976318662836 0 0 0 +2081 3 -1.2 12.079406572321084 11.128203443403324 12.765121207242503 0 0 0 +2725 3 -1.2 19.29751834930337 7.4200095182725505 0.3915055928699 0 0 0 +2767 3 -1.2 17.227061016103484 11.071520021606098 5.7342897821776875 0 0 0 +2987 3 -1.2 13.499474306154388 13.610089315787619 2.1512639256121817 0 0 0 +23 1 3 25.271564738007648 9.847082168023848 1.997345520468332 0 0 0 +2676 3 -1.2 13.116365619038376 9.34178131966574 14.64232770325298 0 0 0 +1618 3 -1.2 14.388668788941118 10.737046703984408 8.276580778655099 0 0 0 +322 1 3 20.180176896761125 10.592632433767365 1.202807883480694 0 0 0 +412 1 3 24.653569823455683 13.143192358615735 9.121912569797823 0 0 0 +437 1 3 26.621126388502805 9.89237736680894 4.698004173192933 0 0 0 +570 1 3 20.782777477458765 14.454039527869542 1.5542210868601567 0 0 0 +590 1 3 23.51388717455849 13.697889338905995 6.383777938843604 0 0 0 +652 2 0.6 23.95340505482794 15.294607060581798 1.2972792794516144 0 0 0 +681 2 0.6 25.227811603396724 16.76603577398321 6.049300484942883 0 0 0 +699 2 0.6 21.126497161342687 11.460797873120045 4.950231064151637 0 0 0 +700 2 0.6 22.88325533238183 12.024959860683346 3.2959205170232257 0 0 0 +2608 3 -1.2 6.388123050736264 16.262372710638715 12.284379903628082 0 0 0 +810 2 0.6 22.629934241790096 10.366173017458834 8.625853902192777 0 0 0 +2567 3 -1.2 14.129972422463915 15.291025504555268 6.993223236128789 0 0 0 +2502 3 -1.2 6.236480023282383 11.225274351607137 13.397286398808218 0 0 0 +1070 2 0.6 21.329615340449074 15.656814428480535 5.131180162516522 0 0 0 +1525 3 -1.2 6.982070753771091 12.476202106862566 11.320578063136894 0 0 0 +1207 3 -1.2 24.16837578779941 13.016262976822963 7.54513761106032 0 0 0 +1241 3 -1.2 20.299954364812 10.609247110349129 6.83208290000257 0 0 0 +1370 3 -1.2 23.40855702525213 15.125100766080193 6.147059157037812 0 0 0 +1882 3 -1.2 21.64302945563939 13.79110098028925 2.56112927764941 0 0 0 +1937 3 -1.2 24.704030472801225 11.15766220020758 2.278674360498426 0 0 0 +2031 3 -1.2 21.56690218573319 11.266000863796942 0.834193643929693 0 0 0 +359 1 3 8.95346367619213 0.09909928971016169 0.806183759437379 0 0 0 +2089 3 -1.2 22.069221290606738 9.792742508258165 3.8455560632033796 0 0 0 +2127 3 -1.2 20.955348478944256 13.502226599354424 0.27598384320323255 0 0 0 +2488 3 -1.2 4.796622430356143 16.599533792234634 16.603576305821292 0 0 0 +2321 3 -1.2 24.5167723165236 8.787789436796787 1.3261473022554626 0 0 0 +2367 3 -1.2 20.559853702520282 9.325183566216614 2.0048023151866308 0 0 0 +2909 3 -1.2 21.30118519706563 15.798027208833584 1.193519262099006 0 0 0 +2974 3 -1.2 22.907871645870188 12.771491089368798 5.491601289910581 0 0 0 +16 1 3 28.093092227663213 10.41125245925158 1.1203934612999824 0 0 0 +61 1 3 25.433589010195007 7.948623242321133 6.500260841364083 0 0 0 +2097 3 -1.2 12.493774676891679 9.044742015582612 10.067499990224862 0 0 0 +327 1 3 31.292809086184306 7.377549918195232 7.602821787267629 0 0 0 +362 1 3 28.134618896877416 13.330044655330969 1.69673300264818 0 0 0 +401 1 3 30.500739783253593 14.917828777723699 0.9609118286174586 0 0 0 +451 1 3 27.138442398606024 14.361587144837006 8.045414337467728 0 0 0 +466 1 3 29.35938098655492 9.3089875927496 3.666009393456217 0 0 0 +2038 3 -1.2 7.475289052500883 15.036742385002226 16.92261969868044 0 0 0 +725 2 0.6 31.97254816228217 15.99828959784927 4.3756348484439895 0 0 0 +749 2 0.6 30.661613388350855 15.394039957537155 7.155194878464862 0 0 0 +778 2 0.6 27.68199316723105 13.585754331445449 5.109388452951252 0 0 0 +2370 3 -1.2 7.289971727139639 8.026011108804532 13.668199371883437 0 0 0 +898 2 0.6 31.162777657401765 12.698678728276603 4.228785845009721 0 0 0 +1054 2 0.6 31.5585100402116 11.115720736764844 6.230700192891273 0 0 0 +1058 2 0.6 28.579094414422606 11.269114203617258 7.692852173401253 0 0 0 +2257 3 -1.2 13.199227166725548 16.334116880374026 12.559324830566723 0 0 0 +1426 3 -1.2 27.161706361678164 13.632029236563325 0.6338558515813065 0 0 0 +1602 3 -1.2 26.246637666700607 14.755420889317213 6.889800815798162 0 0 0 +1751 3 -1.2 29.59232863478427 13.658966468565803 1.0948986986649705 0 0 0 +1776 3 -1.2 28.041126196480484 9.211004622071751 4.564692664485137 0 0 0 +1876 3 -1.2 28.24161798837016 13.532057360242083 7.484413509354465 0 0 0 +1880 3 -1.2 31.330197951349852 15.100493551014432 2.141892203107252 0 0 0 +2001 3 -1.2 26.580742320960088 10.04811675952205 1.0482532762956867 0 0 0 +2012 3 -1.2 25.947623065948314 9.356542960736322 3.3728874889073714 0 0 0 +2162 3 -1.2 28.129260540731313 14.066854901188263 2.960208042955908 0 0 0 +2341 3 -1.2 28.121957607476883 11.763536689246385 1.8815679308754398 0 0 0 +2508 3 -1.2 25.927410632566847 9.365674762522733 5.978683942205251 0 0 0 +2606 3 -1.2 30.0253260368134 10.57702137583437 3.9701859896679714 0 0 0 +2622 3 -1.2 29.4996841682849 16.116276470507824 0.7728740721527416 0 0 0 +2643 3 -1.2 28.69468141128889 9.41656817831364 2.168731764012579 0 0 0 +2791 3 -1.2 26.784458304592142 11.34045738193589 4.671299620679113 0 0 0 +2 1 3 2.4418678858749994 5.85164879790282 12.57463812843276 0 0 0 +90 1 3 33.74530118051254 3.923348520727286 10.343879008774001 -1 0 0 +152 1 3 31.192232242148357 12.995641909839378 9.380414075285522 0 0 0 +404 1 3 1.8510707199570593 2.0175198111580266 10.250355291391193 0 0 0 +422 1 3 1.6919378516895158 4.070587081778009 16.67832351676812 0 0 0 +456 1 3 3.2309354310805687 3.530846428721078 14.265037356447298 0 0 0 +477 1 3 3.7315247999121404 8.049601531334277 9.75090580517567 0 0 0 +732 2 0.6 33.80512511685721 4.66042326579467 13.910888795197252 -1 0 0 +753 2 0.6 0.49179308306414227 1.4131554885808808 14.612659967913308 0 0 0 +885 2 0.6 33.4948579007412 6.931773533826903 11.89322984123546 -1 0 0 +119 1 3 31.225003281223568 12.819396495712976 12.351243248677335 0 0 0 +98 1 3 29.269628250302286 11.82877428198122 14.380516737060713 0 0 0 +1105 2 0.6 4.891947172105047 2.6571907829897348 11.562990209058428 0 0 0 +1176 2 0.6 34.07759475520795 7.169093731195742 15.166142804971496 -1 0 0 +1264 3 -1.2 2.2882640233473404 4.440582550156639 13.380918213055036 0 0 0 +2885 3 -1.2 24.843233816787293 10.22589996992295 13.369633970303374 0 0 0 +1384 3 -1.2 1.4538772609074668 6.7757921258671905 13.142700385379733 0 0 0 +1412 3 -1.2 2.470710252504265 5.582194948161029 11.127356035118696 0 0 0 +1459 3 -1.2 33.110638445331006 2.662529356395472 14.003488230911016 -1 0 0 +1463 3 -1.2 4.0933550345041345 4.539837813721011 8.639637500462731 0 0 0 +1513 3 -1.2 3.7774977298218078 8.018268964379057 11.21635538674719 0 0 0 +1601 3 -1.2 32.33164377762012 3.5144990965964173 10.184381975404794 -1 0 0 +1613 3 -1.2 0.4198439113311315 2.6805281693684577 10.294136838711825 0 0 0 +1677 3 -1.2 2.4475842902853655 2.4599147761980062 8.772049377019956 0 0 0 +1737 3 -1.2 2.824421632637215 2.671238665074366 11.13006195903871 0 0 0 +1846 3 -1.2 5.277329550665405 1.415852715833914 16.025095776875276 0 0 0 +1891 3 -1.2 0.046577642955788874 7.444841543608815 8.224766747045589 0 0 0 +1931 3 -1.2 2.9650487154067275 2.1053271169023873 14.225508776479545 0 0 0 +2062 3 -1.2 1.6512407946235383 8.693649638029374 15.59127761726648 0 0 0 +2065 3 -1.2 1.0931964966304004 2.721184864711251 16.667629918833125 0 0 0 +2098 3 -1.2 1.8312533848712544 0.5638892601579697 10.228559303497601 0 0 0 +1492 3 -1.2 6.787447084018837 13.474385893951462 14.073371604760057 0 0 0 +2171 3 -1.2 5.869781157006333 0.5200260943734978 11.044403342621699 0 0 0 +2201 3 -1.2 32.95829440339477 0.15874216267929273 11.014224335417627 -1 0 0 +2229 3 -1.2 33.99061213122378 4.745173441239425 11.540310818359396 -1 0 0 +2306 3 -1.2 0.8176837874870242 5.09683976232762 16.023324264989277 0 0 0 +2339 3 -1.2 3.9680266971414353 6.0429855521812215 13.098888769756075 0 0 0 +2375 3 -1.2 6.236071689440973 6.672208792144653 16.19128884021576 0 0 0 +1867 3 -1.2 8.83784579191856 5.700310458901069 0.5963666755092215 0 0 0 +2445 3 -1.2 5.776606855854211 4.260464264584584 16.222410470721837 0 0 0 +2458 3 -1.2 2.3547045572940806 7.661442267866429 9.098572649723293 0 0 0 +2459 3 -1.2 1.8288022423906758 4.495805450704567 7.654572271172731 0 0 0 +2614 3 -1.2 4.629773335882693 3.922523690519157 13.635578454203484 0 0 0 +2697 3 -1.2 2.6077088477277983 7.812660468871465 0.4174146280760784 0 0 0 +2723 3 -1.2 34.170033852574925 4.735268087649475 9.019733689734238 -1 0 0 +2754 3 -1.2 2.9540467495124254 4.083387339534749 15.685973649750611 0 0 0 +2819 3 -1.2 24.317030462772532 8.403649852567117 15.832146118116885 0 0 0 +2904 3 -1.2 5.625220311288179 0.7052604613963925 8.641117495150624 0 0 0 +47 1 3 12.480408676206219 4.5554356795876565 14.778251967178015 0 0 0 +142 1 3 6.786090986305527 1.943014505801247 15.995761554935187 0 0 0 +208 1 3 12.205021356514633 2.392623202130191 11.907890812263398 0 0 0 +2774 3 -1.2 25.96397945793024 12.689555752390183 11.989692190713633 0 0 0 +273 1 3 15.911162378460686 7.19159635446757 13.113233229291064 0 0 0 +293 1 3 12.158142255873742 5.018950113901266 10.616742022226255 0 0 0 +313 1 3 7.196350521578711 3.7141640348459273 8.85404821625785 0 0 0 +355 1 3 6.444932772846798 5.320842644736055 17.00018590625556 0 0 0 +367 1 3 8.027528125886358 2.5291697441248298 13.320593069541719 0 0 0 +453 1 3 5.272814397695176 5.182554532328153 12.88281667499367 0 0 0 +2740 3 -1.2 24.627840386670947 7.789915547251719 7.858078866068491 0 0 0 +561 1 3 6.433798542950932 1.1233504545655073 9.820052551968505 0 0 0 +591 1 3 7.828887147311205 6.699737696582691 13.237877739913653 0 0 0 +639 2 0.6 9.48601902261313 2.6290222397140033 10.872556968882867 0 0 0 +2708 3 -1.2 24.240179843925326 11.860287195226388 9.698188910856443 0 0 0 +775 2 0.6 15.273099562083976 5.314585903204601 7.582960121730988 0 0 0 +803 2 0.6 12.278610496172899 6.9980378009070705 7.603699466942302 0 0 0 +829 2 0.6 8.363083008624638 7.604616258235112 15.889490523847924 0 0 0 +855 2 0.6 13.431911940508282 1.9761709805825092 15.299620203758021 0 0 0 +2587 3 -1.2 20.994612704584828 10.095566517575728 11.242622279387223 0 0 0 +937 2 0.6 9.20380915096589 4.428633483532978 15.406055784847402 0 0 0 +2465 3 -1.2 19.715103325195138 14.203408394531118 11.124275657352527 0 0 0 +2411 3 -1.2 25.420476972074333 11.52544882110778 16.592881810059616 0 0 0 +984 2 0.6 10.943970625439555 7.131121792930927 12.86422620343501 0 0 0 +947 2 0.6 33.11990196520108 13.541124581001368 0.7280841265548146 -1 0 0 +1040 2 0.6 9.692663511087517 1.091701924768 15.38152293878923 0 0 0 +1106 2 0.6 9.399173923274699 6.362677373837425 9.565257372518046 0 0 0 +1109 2 0.6 13.921992849025397 7.458654452030575 10.241849635020394 0 0 0 +2944 3 -1.2 18.678325555708447 17.10497313615366 2.0204353722307844 0 0 0 +1168 2 0.6 13.996675521779782 7.331801933199245 15.451339806958938 0 0 0 +1205 3 -1.2 6.307527255999394 2.7481857042795994 9.699039679086106 0 0 0 +1252 3 -1.2 11.687615583681442 2.579607322702786 7.975505616570644 0 0 0 +1304 3 -1.2 7.370343324491989 0.6235288766262922 15.635883797705118 0 0 0 +1331 3 -1.2 6.584563103460467 5.680303674854835 13.492183933859213 0 0 0 +1416 3 -1.2 11.38030313951141 3.636502825210937 15.209371758699392 0 0 0 +1514 3 -1.2 13.250054700992683 2.0148120659074937 10.75165761602955 0 0 0 +1520 3 -1.2 12.740880252881283 2.7137414877839974 13.232101116470274 0 0 0 +1272 3 -1.2 7.745121042515868 15.647817104831281 10.168280612252957 0 0 0 +1605 3 -1.2 6.95380980188582 3.182128036303692 7.47800849335541 0 0 0 +1865 3 -1.2 21.917054422277054 11.830217154689725 13.994093777920156 0 0 0 +1727 3 -1.2 8.177329773155076 6.68921433612721 11.800155672668478 0 0 0 +1740 3 -1.2 10.510784317524973 13.006587981759703 8.776769235578065 0 0 0 +1901 3 -1.2 12.178348570408616 5.602888859832466 16.139852268137066 0 0 0 +1928 3 -1.2 8.916883473782331 6.321162361165613 14.192136136236305 0 0 0 +2053 3 -1.2 6.506073734220149 5.148248854332297 8.769648748528665 0 0 0 +2093 3 -1.2 8.571057609529236 3.884541503769448 9.34042951963685 0 0 0 +2165 3 -1.2 11.294314242781175 6.163176048832021 10.893595925024334 0 0 0 +2284 3 -1.2 13.878848951211987 4.2423696704841785 15.1965835569867 0 0 0 +2342 3 -1.2 5.416113417437894 5.0176035547592965 11.43138886331854 0 0 0 +2363 3 -1.2 9.115094413276749 3.521886193488985 13.10160347393832 0 0 0 +1784 3 -1.2 20.934445364971427 8.774397977018701 9.185435345414465 0 0 0 +2412 3 -1.2 7.918464387871303 1.0713325497986832 9.644984618222916 0 0 0 +2490 3 -1.2 15.587908234291211 5.662157449143876 13.348967533784561 0 0 0 +2522 3 -1.2 12.293796674546277 5.478432397499722 13.648597793431204 0 0 0 +2539 3 -1.2 11.29614866097855 1.235946615105371 11.97607780176603 0 0 0 +1963 3 -1.2 10.926373132988957 15.525119161818017 13.131845336064616 0 0 0 +2649 3 -1.2 12.127507026645336 4.789469723498316 9.0297408160301 0 0 0 +1098 2 0.6 34.333485258878504 0.857459819022491 7.575620021812746 -1 0 0 +2769 3 -1.2 14.015723075710557 3.284464324537277 8.35830005376273 0 0 0 +2787 3 -1.2 6.915875640303708 2.794435121765495 12.386077293299449 0 0 0 +2799 3 -1.2 11.594205811643858 3.6661266715392347 11.209169258831377 0 0 0 +2836 3 -1.2 13.590986494028801 5.092349483154178 10.941697309795332 0 0 0 +2953 3 -1.2 7.42500788006905 2.7681354692770785 14.7727273194088 0 0 0 +3000 3 -1.2 8.616268061412097 1.171698250400215 13.17559027150028 0 0 0 +116 1 3 18.097776169213244 6.214513909339797 16.371207350618523 0 0 0 +276 1 3 18.879840936063058 7.140351465473925 13.622875033270642 0 0 0 +279 1 3 14.38671719310986 1.0836274527852534 10.303304182862759 0 0 0 +463 1 3 16.1497874555173 4.223872547659984 12.867177965435816 0 0 0 +19 1 3 4.483871962474078 15.355666372984956 15.88780146611459 0 0 0 +1701 3 -1.2 21.68855365646264 14.51618715256692 16.752211324632526 0 0 0 +577 1 3 16.155080986099325 0.3306531828490763 15.962230507633045 0 0 0 +641 2 0.6 16.223789541911692 3.763638021777639 15.918083059246655 0 0 0 +1690 3 -1.2 21.362420987686505 15.037436136210939 12.764957134117578 0 0 0 +712 2 0.6 17.38837038187027 4.637586225727892 9.310912677035255 0 0 0 +713 2 0.6 17.6883282183419 6.576659997172821 10.726617852257732 0 0 0 +763 2 0.6 19.4498712461439 3.708642295609683 14.51739600587607 0 0 0 +814 2 0.6 17.748423585992338 2.0669111925044716 10.669714440862036 0 0 0 +856 2 0.6 19.146786052385394 7.27738191408062 8.43271005253012 0 0 0 +884 2 0.6 18.926173639216792 4.4494035877772955 11.639612479139627 0 0 0 +1625 3 -1.2 26.201470140760147 13.347835055724051 8.916970848893268 0 0 0 +1444 3 -1.2 21.650160237853928 0.32682762885941663 13.152543136162333 0 0 0 +1484 3 -1.2 18.689956739082476 4.871209048775992 16.313324583199005 0 0 0 +1542 3 -1.2 18.92300087053425 12.59491310555636 7.464860743120077 0 0 0 +1850 3 -1.2 15.46382739455863 1.5896201633399427 16.24873776541176 0 0 0 +2239 3 -1.2 10.663906124288117 10.442301906155354 10.820291884613823 0 0 0 +2181 3 -1.2 16.80255786900203 6.770963989520168 8.864281817537215 0 0 0 +2337 3 -1.2 15.401346089557338 2.9521432958250964 12.837590658512738 0 0 0 +2368 3 -1.2 17.501909627569518 7.1413978015800055 12.809664229326515 0 0 0 +2417 3 -1.2 16.755212253739153 4.553634471470007 11.530113547635237 0 0 0 +2474 3 -1.2 15.746264635257738 1.5844278565338419 10.34325690679821 0 0 0 +2545 3 -1.2 19.529549286467027 5.857014405728703 10.03905150328727 0 0 0 +2605 3 -1.2 17.28783340469726 4.002155427205282 13.839187904495368 0 0 0 +2742 3 -1.2 17.69352248544844 0.7281361359360821 16.149707038366778 0 0 0 +2821 3 -1.2 16.135897722031167 1.2186712600603502 7.575915555712857 0 0 0 +2854 3 -1.2 16.656980620989494 6.048346664841773 16.612679013377097 0 0 0 +2976 3 -1.2 19.603042944395657 2.960150846064358 10.112080238671847 0 0 0 +54 1 3 25.161131844339188 7.340844288347691 15.196608205690316 0 0 0 +138 1 3 20.60648158813856 3.311757508903282 9.053511381958213 0 0 0 +178 1 3 26.350776109103702 2.6659548958675687 8.99306118619044 0 0 0 +290 1 3 24.348305096737136 6.513921412712687 8.765841658408931 0 0 0 +306 1 3 24.201376444648993 0.784705892939306 14.873031455977214 0 0 0 +1483 3 -1.2 20.805994973301512 11.86206340412786 8.821448457446303 0 0 0 +371 1 3 22.745278124567896 7.173193306104428 11.14383651548283 0 0 0 +1322 3 -1.2 24.894957789097496 14.770810855922743 14.970983137928929 0 0 0 +1289 3 -1.2 24.07513050961062 14.433711403613021 9.53586546225503 0 0 0 +704 2 0.6 25.00786142601733 1.8821974868308196 11.966243157347884 0 0 0 +728 2 0.6 23.41629021946517 4.008293383308437 13.563836362899913 0 0 0 +781 2 0.6 20.96668663347571 5.021884647132659 11.526397822594324 0 0 0 +929 2 0.6 22.16125640942258 6.081432964129819 14.447807829756947 0 0 0 +935 2 0.6 25.32149991347026 5.856640139492273 12.4526169645511 0 0 0 +1096 2 0.6 20.952411251582447 10.398158264856113 15.445235748850681 0 0 0 +1056 2 0.6 26.666004876096327 4.654857611472239 11.225096701976305 0 0 0 +1165 2 0.6 25.536191767852433 3.9761451494111446 15.066116669622378 0 0 0 +1071 2 0.6 23.671904419348856 10.883476546996917 15.14231878683311 0 0 0 +1248 3 -1.2 25.29258632325714 7.835485294218413 13.654611010336309 0 0 0 +1175 2 0.6 33.228012955172275 6.727459075069613 1.5675521724864263 -1 0 0 +1465 3 -1.2 23.112725983384273 6.7087631788335775 9.662729321726722 0 0 0 +1528 3 -1.2 25.556053383556254 3.8001588840502536 12.849158326172999 0 0 0 +1564 3 -1.2 25.51276963126306 6.191797620711659 9.59724908465856 0 0 0 +1615 3 -1.2 21.266669110364912 7.659323423410025 11.24075829847851 0 0 0 +1630 3 -1.2 24.474732501679757 6.0216883245309285 15.153627163617326 0 0 0 +1044 2 0.6 23.066755472776205 13.748725992710764 14.000602300023205 0 0 0 +1034 2 0.6 24.13621009956985 16.841174138330445 15.378349424122629 0 0 0 +962 2 0.6 20.98527521845094 12.21068543354978 11.747723333775616 0 0 0 +2078 3 -1.2 20.294009265411493 0.7607095962934374 15.106454888697357 0 0 0 +957 2 0.6 23.41724125326337 16.37154887694135 12.444109103550684 0 0 0 +2326 3 -1.2 21.790645214495584 4.008205564990695 9.636579204059194 0 0 0 +2415 3 -1.2 22.958088482474476 6.068160256558905 12.106567850932244 0 0 0 +2481 3 -1.2 21.128630071028493 2.0650894084909805 8.405671938114077 0 0 0 +2634 3 -1.2 21.48305688029201 3.9694063197895373 15.571370592949647 0 0 0 +2703 3 -1.2 25.065658494803593 2.750000094866463 9.745472792603985 0 0 0 +2899 3 -1.2 26.027146178181297 3.649241574876207 7.719411877583779 0 0 0 +2905 3 -1.2 23.96685486665629 2.234012533961483 14.890287302965318 0 0 0 +2921 3 -1.2 20.97683248186655 6.853515423821479 16.12575591278662 0 0 0 +2965 3 -1.2 23.603777632802437 8.365392084574504 11.320852859404239 0 0 0 +2985 3 -1.2 19.595559550562495 5.880121977328694 13.298003804025221 0 0 0 +120 1 3 29.400120538282792 4.148540343476329 13.844917847792784 0 0 0 +793 2 0.6 19.515136067299174 12.089643075453367 14.704164964779162 0 0 0 +312 1 3 28.34600622867386 1.7301274836848 12.561881925183217 0 0 0 +429 1 3 28.75563552501116 7.322873766468034 11.716282830293123 0 0 0 +492 1 3 30.653050601276504 6.7037962640941045 13.933774572012796 0 0 0 +769 2 0.6 23.805207549632073 13.836742603028105 16.731208469976032 0 0 0 +862 2 0.6 27.82275585767434 6.39151634786445 8.785746648310058 0 0 0 +602 2 0.6 23.156146622905865 10.990785478649364 12.081224192536574 0 0 0 +1060 2 0.6 29.000320703760362 1.520237336947049 16.073432902784823 0 0 0 +1083 2 0.6 32.17168659791453 1.5688963883958167 12.444074778647822 0 0 0 +1119 2 0.6 31.995633413430323 2.477255317314044 15.885630728816125 0 0 0 +1127 2 0.6 31.05893958905495 1.491675692900216 10.322731051241176 0 0 0 +1143 2 0.6 29.628093997738475 4.334040512564589 9.754107965968368 0 0 0 +1332 3 -1.2 30.00738242354899 0.7971634964125346 8.473189627985224 0 0 0 +1552 3 -1.2 29.683840140125916 1.1491708666285856 12.218114725848059 0 0 0 +2189 3 -1.2 0.18816138414503153 8.101711400661191 0.14969414606566633 0 0 0 +1567 3 -1.2 26.505681380124074 7.3992375783227775 15.816062308857093 0 0 0 +1810 3 -1.2 26.489833628136623 1.3062527449237549 8.401700419434382 0 0 0 +1899 3 -1.2 27.30503671642503 1.2499725158957016 11.591824986059896 0 0 0 +2155 3 -1.2 29.341070771471678 5.312408511167539 7.701740784992824 0 0 0 +2197 3 -1.2 30.37062038145536 6.821404396288755 15.378848780970602 0 0 0 +2233 3 -1.2 27.533390037645052 3.293188140977811 9.617267670506466 0 0 0 +2248 3 -1.2 26.584610816123504 2.4078237076308553 17.14797082531338 0 0 0 +2322 3 -1.2 28.769371124279182 3.296500308225283 12.654904285232066 0 0 0 +2420 3 -1.2 30.576640453606554 5.17165328055211 13.45813037805086 0 0 0 +2437 3 -1.2 27.359901423616183 6.88303248336015 11.896472174374288 0 0 0 +2530 3 -1.2 29.91813702138127 3.181181976754468 14.820036712783 0 0 0 +2573 3 -1.2 29.4446622055635 6.4140044001865215 10.783857671558374 0 0 0 +2686 3 -1.2 31.408446020834447 7.934342704491162 8.932521257863232 0 0 0 +1398 3 -1.2 6.6068737163048175 8.902266993839458 7.73303520594 0 0 0 +2950 3 -1.2 27.832192692751356 1.4218484353523249 13.94547659129183 0 0 0 +2970 3 -1.2 28.391931263608384 5.170073807350288 14.201993565702088 0 0 0 +4 1 3 33.53456589492457 11.8625285231365 10.775655380966889 -1 0 0 +86 1 3 0.6474402817627473 12.033634224667656 14.673773713650938 0 0 0 +406 1 3 1.6985124749640246 14.269861747203182 8.646352093265707 0 0 0 +416 1 3 1.6239714817812518 14.519651800842057 15.664744859986916 0 0 0 +503 1 3 0.8442083777648062 8.279130761711007 9.168235187518203 0 0 0 +2390 3 -1.2 14.188056491766137 0.34928753817439223 8.901437355800022 0 0 0 +599 1 3 2.54615124070152 9.894742122463644 15.417365242567518 0 0 0 +606 2 0.6 5.265523907646483 14.215876627655623 9.618436184515543 0 0 0 +607 2 0.6 4.884306694304009 8.886317654713775 13.120445413979706 0 0 0 +659 2 0.6 1.8855133731028095 14.679854510199513 11.623648408602975 0 0 0 +679 2 0.6 34.08303996207308 16.721566246958883 10.593108018973485 -1 0 0 +867 2 0.6 3.29258193033771 12.628617391966724 12.486411017233957 0 0 0 +887 2 0.6 0.3269164200393898 8.856004023525372 13.004400069180717 0 0 0 +1007 2 0.6 32.98752789510994 16.491335120089676 14.962077329292502 -1 0 0 +1055 2 0.6 2.285812853017783 10.335347397342275 11.709483012787171 0 0 0 +1065 2 0.6 3.9234377266721787 11.677542017283953 9.18614806782143 0 0 0 +1233 3 -1.2 0.5765143645509154 14.72927221432342 9.522012530542941 0 0 0 +1256 3 -1.2 33.696255377507754 12.448875725606653 15.293727068377937 -1 0 0 +1257 3 -1.2 3.492583155595683 10.039865181148521 16.563606552835008 0 0 0 +1266 3 -1.2 1.5127524888432955 11.133855110303196 15.600220179073824 0 0 0 +1441 3 -1.2 2.9076634013953546 15.357272972164262 15.535189942130627 0 0 0 +1470 3 -1.2 5.489535420481315 16.393014828380032 10.038231429650615 0 0 0 +1608 3 -1.2 32.73319823046971 12.711318092938958 9.66026308811876 -1 0 0 +1712 3 -1.2 11.406128808667116 10.564202520161942 16.031383201070422 0 0 0 +1711 3 -1.2 32.9148482754697 10.525771544298177 10.642977971104523 -1 0 0 +1750 3 -1.2 4.489128279614326 12.592216930072345 14.320081766882401 0 0 0 +598 1 3 21.629029591926603 3.6561256979062065 16.976216260814336 0 0 0 +1913 3 -1.2 0.395697281518047 15.344145835508181 15.64595398579139 0 0 0 +2032 3 -1.2 4.824140187344413 11.390033848184991 11.372986552755341 0 0 0 +2106 3 -1.2 1.6505216623680865 13.698781955353997 16.906571712034285 0 0 0 +2118 3 -1.2 4.454519768761832 8.008746307393954 15.330756585476124 0 0 0 +2169 3 -1.2 1.458434935513604 13.391441703531672 14.53225148388531 0 0 0 +2184 3 -1.2 0.9742934481102571 9.67274028544987 8.660220433123751 0 0 0 +2195 3 -1.2 5.067603577486218 15.472230230911299 14.432781165982986 0 0 0 +2213 3 -1.2 32.714966768122046 12.457576801823729 12.065421442954499 -1 0 0 +2254 3 -1.2 2.922899722661217 14.066760997573478 9.489466479968351 0 0 0 +2299 3 -1.2 3.0115875440954403 10.035338339638928 14.003986918653426 0 0 0 +2509 3 -1.2 32.0272837633595 7.197881414931493 13.611046746066764 -1 0 0 +2511 3 -1.2 0.6405989981226549 12.068524028536839 10.794646394345243 0 0 0 +2595 3 -1.2 0.5134227328632435 8.224428970443372 10.614790467393558 0 0 0 +2623 3 -1.2 3.958545961035179 9.411137766773187 9.226276191850136 0 0 0 +1872 3 -1.2 6.568705285637014 9.020131833717905 16.48184361081125 0 0 0 +2766 3 -1.2 4.769578095595996 7.027497637844567 9.072668762898799 0 0 0 +2824 3 -1.2 4.725335287133926 14.107954798538376 16.614638369002126 0 0 0 +2874 3 -1.2 0.5069350411076048 11.216133904365691 13.444463606230498 0 0 0 +2881 3 -1.2 0.863668480920791 16.171043087341868 12.856499798096197 0 0 0 +2900 3 -1.2 3.9312682498660814 16.248439472449437 12.41873183902124 0 0 0 +2934 3 -1.2 5.315680204201426 13.07492970634899 7.460967996843883 0 0 0 +30 1 3 6.757362842942775 12.832618915557289 7.211632764447952 0 0 0 +72 1 3 9.829319317089393 16.659922546826216 13.34927541411043 0 0 0 +130 1 3 12.113294428998678 15.225942690983393 12.162532864349567 0 0 0 +186 1 3 5.154962094746428 16.501900885625062 13.229610608597831 0 0 0 +250 1 3 11.698961518683317 9.498519165360259 15.02683344810751 0 0 0 +275 1 3 6.785651004633354 16.610468349699914 10.77416210252361 0 0 0 +345 1 3 5.953269924038838 12.347646502596797 14.547875571594055 0 0 0 +445 1 3 6.26492613066968 11.27709348018079 11.806002920597527 0 0 0 +571 1 3 11.215911314253113 9.61738076898739 9.597059251772345 0 0 0 +578 1 3 11.407723102035225 11.709653935073534 11.572374568724008 0 0 0 +655 2 0.6 8.748632886833617 13.5227704286143 10.264810293307427 0 0 0 +671 2 0.6 7.835457015400292 9.9933647318457 14.83754715553975 0 0 0 +695 2 0.6 11.427094712541965 12.834566977145984 14.336117129272495 0 0 0 +1246 3 -1.2 12.688461225053912 13.906481172139893 12.414466772508092 0 0 0 +818 2 0.6 14.378752045795512 13.046472635690582 11.205336961620235 0 0 0 +1338 3 -1.2 33.774426911325605 0.13311755084491533 16.426228406874245 -1 0 0 +854 2 0.6 8.305950632267491 8.64234637882292 10.421221337010108 0 0 0 +950 2 0.6 9.093654671059529 10.233890056305322 12.731301849594127 0 0 0 +987 2 0.6 10.09535838076416 12.423882319917425 16.14686733149824 0 0 0 +1017 2 0.6 8.821018829739511 13.629115261596269 13.438966356028137 0 0 0 +1134 2 0.6 12.690611615936858 14.36089321890829 8.996420707838025 0 0 0 +1138 2 0.6 14.087272057926741 9.945076780320436 12.618604431654187 0 0 0 +476 1 3 18.73321762589055 0.22017364660109986 17.165192438908264 0 0 0 +1225 3 -1.2 11.267449693106748 10.591880456003128 8.34194213250296 0 0 0 +863 2 0.6 3.1588103587544634 0.08951835701962099 6.0614312368024486 0 0 0 +1150 2 0.6 8.180144865813546 10.86015033741547 16.963244973178618 0 0 0 +341 1 3 1.3904445134275878 8.887994902594237 0.5024544590791505 0 0 0 +737 2 0.6 14.165320473964151 16.73548774963783 1.4720693682933048 0 0 0 +966 2 0.6 9.425234412122094 0.24597676110401662 11.120768913011682 0 0 0 +860 2 0.6 15.729087685429876 1.0533746262094108 3.743024148304143 0 1 0 +1051 2 0.6 2.5157112055088833 6.816974629572479 16.389990403663315 0 0 0 +2074 3 -1.2 25.160366859668557 0.4709030459221921 16.108932972102266 0 0 0 +1219 3 -1.2 10.729361098408472 14.47907009750532 16.730095254344377 0 0 0 +2838 3 -1.2 20.25018163166703 3.11822924315667 0.08638057972008041 0 0 0 +115 1 3 5.785102155685449 17.113008209962842 6.94163683972685 0 0 0 +21 1 3 33.87202924159821 0.75529179453393 20.890382650941085 -1 0 0 +79 1 3 1.384138108046314 1.7081433977160148 22.984219158425564 0 0 0 +161 1 3 5.120374132327063 6.015600632595287 23.727681366680546 0 0 0 +432 1 3 4.049390321657622 2.0771263157639863 19.57824618533234 0 0 0 +523 1 3 0.6115923650652229 5.683410906930614 25.444262843446904 0 0 0 +597 1 3 2.521826648718364 4.513662270082266 23.330505868250928 0 0 0 +748 2 0.6 0.8252378803129985 3.096506168946036 19.61919981257551 0 0 0 +768 2 0.6 2.683101694981099 6.9883656859818615 20.470738450613624 0 0 0 +830 2 0.6 1.074967353790657 5.389513041343086 19.899642233159117 0 0 0 +899 2 0.6 33.787556845012745 8.58073562973117 24.483173297519297 -1 0 0 +930 2 0.6 32.250677071632246 5.161783925899259 21.823975496734846 -1 0 0 +1039 2 0.6 4.692987865746362 2.0174205205509304 23.80029041693949 0 0 0 +1117 2 0.6 14.839957085023185 4.9540564590801175 17.338795347871034 0 0 0 +2680 3 -1.2 25.27126474746286 0.3684072196983974 25.811317049467988 0 0 0 +1085 2 0.6 2.0899816607559045 7.645529434739992 22.79288280046483 0 0 0 +1210 3 -1.2 4.566615849821873 3.8593265505911205 21.793039633255404 0 0 0 +1286 3 -1.2 2.36247362817055 2.932667046025273 23.158715159722174 0 0 0 +1292 3 -1.2 5.624540199586263 5.698010290420648 18.242611856969003 0 0 0 +1310 3 -1.2 3.6597485543177224 1.6468584524198229 18.22084234208562 0 0 0 +2231 3 -1.2 16.963466842155462 16.592733026771448 34.22086207611215 0 0 -1 +1429 3 -1.2 1.073671859248546 7.016975683762402 25.026598637041086 0 0 0 +1480 3 -1.2 4.55447153551026 7.335955024015599 23.402964580906342 0 0 0 +2794 3 -1.2 26.07718059834433 15.353138260690105 32.09072038138618 0 0 0 +1535 3 -1.2 33.526754693976294 5.263998397220679 25.3952591388053 -1 0 0 +1733 3 -1.2 2.2754266847172877 5.448108263236337 22.234100433430168 0 0 0 +1764 3 -1.2 0.46400349875129204 1.7570216777207917 24.33036462030044 0 0 0 +1830 3 -1.2 1.3086288097014307 7.308295387300584 18.462607406189093 0 0 0 +1844 3 -1.2 1.0366633217991787 8.942816349445074 20.9565761119643 0 0 0 +2716 3 -1.2 28.31588550992843 16.917965957726192 30.571594441690273 0 0 0 +2011 3 -1.2 2.8221026634784785 2.1408286233204827 20.41287320050135 0 0 0 +2044 3 -1.2 1.471754924090107 4.654998041802253 24.531032699437734 0 0 0 +2077 3 -1.2 5.180220413927695 1.1322180341356871 20.228525867579272 0 0 0 +2185 3 -1.2 5.220814463022691 0.1796826059263569 22.582723019686945 0 0 0 +2196 3 -1.2 34.07965006567493 4.335813498119281 21.09284491675623 -1 0 0 +2312 3 -1.2 4.283404634205388 4.472268176329321 26.782865170391368 0 0 0 +2327 3 -1.2 0.38427402091235946 1.7110333576899819 21.822834088656503 0 0 0 +2360 3 -1.2 33.66627739678022 7.7934472809152995 19.80499470911826 -1 0 0 +2524 3 -1.2 28.39394533265397 16.594020644248513 28.074038591339182 0 0 0 +2394 3 -1.2 33.93617191497441 7.641079638891054 22.422516634516445 -1 0 0 +2603 3 -1.2 0.404754125730333 2.0616365686517795 26.787394943797416 0 0 0 +2491 3 -1.2 29.534219778891323 14.620639789910332 29.199097904134515 0 0 0 +2706 3 -1.2 32.9153121931151 1.6077357109541752 19.99929476096402 -1 0 0 +2748 3 -1.2 2.096445197351191 4.454398913646013 18.059633984932336 0 0 0 +2809 3 -1.2 4.814978431977681 3.4354668657168075 19.545949311006446 0 0 0 +2344 3 -1.2 29.127076874077108 10.678145403030092 28.67630954652604 0 0 0 +2848 3 -1.2 3.8864077724002306 5.028957866969486 24.01383946993782 0 0 0 +2975 3 -1.2 4.844935898103712 5.91765569534254 20.36669333161717 0 0 0 +2999 3 -1.2 3.5817627121450473 1.4196246253384561 25.617758826956212 0 0 0 +2304 3 -1.2 31.352077047877458 14.754385436667407 33.99090039185324 0 0 0 +127 1 3 5.990493411362333 0.8407013191244822 21.524989728779577 0 0 0 +160 1 3 5.357116598807503 7.138609457270406 19.308955669105337 0 0 0 +2249 3 -1.2 31.579292219705337 10.27548194982242 31.104818942477422 0 0 0 +206 1 3 10.799190514502325 8.253944037590468 17.510007879198813 0 0 0 +297 1 3 5.3686621932562515 4.48139178630468 20.686079029561817 0 0 0 +338 1 3 9.333348863630636 6.006040511528655 23.723051557705936 0 0 0 +351 1 3 8.877585840081862 0.6780903248004477 21.647452840535184 0 0 0 +391 1 3 12.181601631891386 2.1317685040700063 24.61707576807327 0 0 0 +448 1 3 13.082449449360341 5.743885413703314 20.092337878949262 0 0 0 +455 1 3 15.460384464561908 6.322985337737685 21.52481170991365 0 0 0 +471 1 3 11.65585603102487 5.453908203568536 17.538609098109767 0 0 0 +507 1 3 11.642363955972023 2.6147854085505218 17.969010759914696 0 0 0 +1193 2 0.6 21.56419234672341 1.4560849235321558 34.01143255564006 0 0 0 +2125 3 -1.2 30.180917995484883 16.098114745248207 32.01816901443911 0 0 0 +2117 3 -1.2 28.21880195990935 7.623929505710863 26.87015843156718 0 0 0 +739 2 0.6 12.79712638870434 5.792590675332303 25.20579230316537 0 0 0 +844 2 0.6 13.04163252066009 4.7100090917122355 23.112162008859833 0 0 0 +925 2 0.6 13.6693504201738 2.2834000765168656 20.13527551147733 0 0 0 +938 2 0.6 8.538661405600566 4.076551337316702 21.754667831283083 0 0 0 +2713 3 -1.2 16.494365044385322 10.825834007586968 34.10804123770621 0 0 -1 +2035 3 -1.2 31.522535568323196 10.45238968884175 28.64377282166424 0 0 0 +1000 2 0.6 7.744645011230744 2.5967439463997697 19.29102320628712 0 0 0 +1003 2 0.6 7.26640847273677 3.237057448153934 23.772772163789597 0 0 0 +1064 2 0.6 6.38962017882088 8.412621070577726 21.855139297216237 0 0 0 +1933 3 -1.2 29.890946212744073 11.924443517774526 26.71275221916851 0 0 0 +1113 2 0.6 11.302729491265334 2.9994119240738826 21.465527248682875 0 0 0 +1139 2 0.6 12.038815908526468 7.996250976800469 22.74533406964479 0 0 0 +1180 2 0.6 8.482560942079996 5.751243991191108 19.521610320377455 0 0 0 +1215 3 -1.2 8.212804865170742 6.994677382330957 24.260090034754942 0 0 0 +1669 3 -1.2 33.04797987135654 16.560178669454046 17.909123970026823 -1 0 0 +1318 3 -1.2 11.401407827669535 2.293353150367479 19.4066814013506 0 0 0 +1349 3 -1.2 8.866924747256892 2.3029564334827635 26.14682436998236 0 0 0 +1381 3 -1.2 6.953779710615301 1.0007627650164226 25.292727443876643 0 0 0 +1924 3 -1.2 27.04980604523634 13.627507650372053 28.442470126928896 0 0 0 +1555 3 -1.2 14.88765581521366 4.155385795372376 24.363282472015293 0 0 0 +1717 3 -1.2 6.8339449958897704 4.383932686334262 20.438821769999915 0 0 0 +1729 3 -1.2 13.462774902856047 7.914105384993325 26.227568716925624 0 0 0 +1771 3 -1.2 10.989866144980436 4.0963979991094375 17.824695807587727 0 0 0 +1829 3 -1.2 13.426193527772153 2.085651536640581 25.443721560816076 0 0 0 +1847 3 -1.2 12.428004218853195 2.5487150600291537 23.225897428980364 0 0 0 +1848 3 -1.2 29.49953000782389 6.666122947421508 32.48854690846253 0 0 0 +1873 3 -1.2 9.375712620543855 6.091725076203821 22.220135567000117 0 0 0 +1887 3 -1.2 10.686244242286042 6.287881678227605 24.29725664862772 0 0 0 +1925 3 -1.2 10.762686412162058 6.671337710597705 17.870122670208364 0 0 0 +1954 3 -1.2 6.3534103420361525 3.0408596485316894 26.46298579950827 0 0 0 +1713 3 -1.2 29.63901464722744 13.72142625775747 32.39379994757935 0 0 0 +2025 3 -1.2 13.067128016076268 4.416287031920962 20.759843339898673 0 0 0 +2061 3 -1.2 12.027161612114107 6.616810914748163 20.620113280394914 0 0 0 +2174 3 -1.2 12.80716456309151 5.509393175315275 18.571539831318727 0 0 0 +2260 3 -1.2 9.074030308236791 0.447240980501517 23.08558758991504 0 0 0 +2272 3 -1.2 6.492536782712307 2.1222269152186275 22.127887967141195 0 0 0 +2354 3 -1.2 8.840173616438472 4.6405233692500465 24.115212925923377 0 0 0 +2462 3 -1.2 9.14141467133428 2.062491499580305 21.19104039936489 0 0 0 +2479 3 -1.2 14.223584491902518 7.7326490925646 17.543108956113826 0 0 0 +1115 2 0.6 19.720694735396886 16.349552072135136 22.78178268442215 0 0 0 +2639 3 -1.2 14.549411510670355 6.252356122546282 20.263588774563082 0 0 0 +2641 3 -1.2 7.425472950936559 0.22476418609715776 21.296489056096334 0 0 0 +2717 3 -1.2 11.117287372502405 3.1759395233345185 25.23335285891363 0 0 0 +2732 3 -1.2 6.100887955926304 5.545210238248927 22.72266523553266 0 0 0 +2584 3 -1.2 7.307914130402483 2.536289080288699 17.241199000732873 0 0 0 +826 2 0.6 0.6224670588149885 11.822531850274952 34.29968379788403 0 0 -1 +2813 3 -1.2 6.04535034005218 6.146957763484895 25.005662797547423 0 0 0 +2866 3 -1.2 14.432774392363564 6.403045558265096 22.574836194343035 0 0 0 +52 1 3 17.853003970051752 7.989715616962989 19.321195877038072 0 0 0 +58 1 3 16.55021494279354 3.741838489473062 20.516766825251455 0 0 0 +174 1 3 16.19120624890968 3.599504880461019 24.73099279585333 0 0 0 +221 1 3 17.454023301295248 8.085010181771757 22.67683019762941 0 0 0 +1611 3 -1.2 28.770381753703713 10.427115890419568 34.16100263470871 0 0 0 +1582 3 -1.2 30.63458445187837 15.682675350894122 27.17704732167155 0 0 0 +384 1 3 17.009170830713956 6.48252582545315 25.0742331240277 0 0 0 +637 2 0.6 18.315506648349317 1.9769807957149472 22.17049631601365 0 0 0 +638 2 0.6 15.541376733468386 2.1546333488063927 18.357568783541797 0 0 0 +1402 3 -1.2 30.685210413005517 8.405828485555606 29.756587850653073 0 0 0 +1069 2 0.6 27.808620524167353 14.202066346625662 30.79334809591148 0 0 0 +991 2 0.6 19.411523323578553 2.6206601190682837 19.06896360355416 0 0 0 +1530 3 -1.2 7.312030309780547 10.526247475349122 33.2327670931592 0 0 -1 +1324 3 -1.2 17.99836146448043 3.4360151711795455 20.479032728378673 0 0 0 +1329 3 -1.2 16.7836401521563 2.6411830025616476 23.775856152792443 0 0 0 +1376 3 -1.2 16.42983700759842 2.6846859406901 26.05772645939972 0 0 0 +1452 3 -1.2 18.819108385464467 1.3728302603711624 26.009585108238685 0 0 0 +1637 3 -1.2 16.977810160250247 4.9114032432772765 25.19364880430957 0 0 0 +1720 3 -1.2 15.741207540690832 2.5615492958935753 20.952256476274076 0 0 0 +1870 3 -1.2 17.290277956456727 6.776443584373791 23.556966291862967 0 0 0 +2024 3 -1.2 19.224850937873523 4.238834605089753 26.821328724387268 0 0 0 +2036 3 -1.2 14.609079584567931 0.36138289518218586 18.96660643953176 0 0 0 +2043 3 -1.2 17.939540199378293 0.096977440044963 18.56330339682401 0 0 0 +2057 3 -1.2 15.58453514790793 7.0521572517579 25.28357697202451 0 0 0 +2211 3 -1.2 18.14159353521218 6.675931184854491 19.893928471582402 0 0 0 +2283 3 -1.2 16.392947662966105 7.565815520417107 21.59211297479836 0 0 0 +1575 3 -1.2 13.508757843207652 16.226443712878623 17.268153826497667 0 0 0 +2442 3 -1.2 20.754619452977437 4.063786130345259 18.055628117187037 0 0 0 +2448 3 -1.2 16.514927849965744 7.972971855040037 18.6084747723749 0 0 0 +2671 3 -1.2 16.059660368138527 4.128888714081012 19.153609427105064 0 0 0 +2688 3 -1.2 19.4025237925271 4.044125833031812 23.35056425868938 0 0 0 +2801 3 -1.2 16.24437855221224 4.982276474481282 21.500720665470567 0 0 0 +25 1 3 21.504573114230727 0.3356222260606246 20.616742901015986 0 0 0 +45 1 3 22.09628447351162 7.013657095165339 19.813817983963414 0 0 0 +71 1 3 24.623767977034422 8.364330698186624 26.754035846533913 0 0 0 +274 1 3 21.598771978476595 6.7699607979595955 24.827807680095408 0 0 0 +344 1 3 20.79184340306309 4.156370363891113 23.738653833854254 0 0 0 +368 1 3 20.5409873121115 7.565021899151067 17.346857769657614 0 0 0 +450 1 3 25.892862439777723 1.0176503579151062 17.3957269215845 0 0 0 +478 1 3 24.27779502487451 7.691679970698112 23.92709756428651 0 0 0 +502 1 3 21.52330948730537 1.4131940107736665 23.23396589821824 0 0 0 +1366 3 -1.2 26.931695244042647 0.06198837877171079 17.854096658473175 0 0 0 +730 2 0.6 25.157661401377638 4.577840976479339 23.056495681217935 0 0 0 +843 2 0.6 19.80710303135905 4.8592998920983845 20.210558408923173 0 0 0 +858 2 0.6 25.178688587640927 5.828229139093455 19.91850882271943 0 0 0 +921 2 0.6 24.525646141378164 0.6589462124186493 20.484169303489594 0 0 0 +1075 2 0.6 22.70799553381507 0.599871385513924 17.616382754301885 0 0 0 +1177 2 0.6 21.073616448384207 8.554587641470352 22.32454352252297 0 0 0 +1305 3 -1.2 21.034099979877745 6.854135366694758 18.63955618427128 0 0 0 +1312 3 -1.2 25.201948876183373 3.1408422205292506 21.078598868092737 0 0 0 +1341 3 -1.2 23.42437584218076 6.885998417787725 19.158872230093582 0 0 0 +979 2 0.6 29.89143939910153 12.729327117550703 30.288628733937415 0 0 0 +1496 3 -1.2 21.23402414540188 5.646617567763294 23.751750226506097 0 0 0 +1524 3 -1.2 25.995308813850617 4.57592771485774 18.254605959943607 0 0 0 +965 2 0.6 26.95286286274274 10.263585355535897 30.6813053173967 0 0 0 +1550 3 -1.2 21.830610648208527 5.9692714675309215 20.84308587526568 0 0 0 +1648 3 -1.2 21.639121038670435 2.960486771722948 23.15548150952624 0 0 0 +701 2 0.6 29.264560510908314 8.868288355540377 32.05190841289651 0 0 0 +1854 3 -1.2 20.55546949775635 1.4404317133658913 20.514783853982834 0 0 0 +2022 3 -1.2 25.196257671105148 6.773209975584982 23.25225653505575 0 0 0 +2250 3 -1.2 24.951681084584894 1.2551916913792507 18.497768368081637 0 0 0 +2788 3 -1.2 30.394419691387952 16.75067664513004 29.510168305585733 0 0 0 +2343 3 -1.2 23.14999081976993 6.793483725263771 24.671556789298293 0 0 0 +2380 3 -1.2 26.64784375271048 1.707627962068956 24.246099931550855 0 0 0 +2389 3 -1.2 22.65323737391113 2.7250437425874874 17.371031188522235 0 0 0 +2510 3 -1.2 21.032322799104854 3.8898983717967983 25.28909983040218 0 0 0 +457 1 3 29.761866510718683 15.793077699151805 28.33047865784638 0 0 0 +2629 3 -1.2 26.048759246033246 2.5562007499757833 26.67627329965821 0 0 0 +366 1 3 30.234725996489438 10.674800354094929 27.68348325510865 0 0 0 +210 1 3 29.790225120386907 17.046367710313508 30.88694686201304 0 0 0 +2758 3 -1.2 24.028425258758933 3.9645909634230128 26.217454454358858 0 0 0 +2895 3 -1.2 20.10930318884386 0.986893341056408 23.260887005629712 0 0 0 +7 1 3 26.344274841851917 1.3501884723908901 25.717835476319028 0 0 0 +55 1 3 28.03699146649361 7.185332484239081 19.93820185465257 0 0 0 +100 1 3 31.2824489081414 1.918123432459538 19.752223500597466 0 0 0 +169 1 3 28.498717641519566 7.275660370563927 25.448744469540042 0 0 0 +269 1 3 30.247319265009974 3.6155311547259408 25.428395557909404 0 0 0 +270 1 3 26.66154361345932 2.9231644587199823 21.00169260717284 0 0 0 +393 1 3 30.26715060292327 8.422436257286957 21.45653062223841 0 0 0 +485 1 3 27.502236705355728 1.0180888304503253 23.032828110593204 0 0 0 +592 1 3 27.092699830410975 3.6192719384603538 18.10543145048626 0 0 0 +850 2 0.6 30.010505949354155 5.6165076581456645 17.520484887488283 0 0 0 +931 2 0.6 29.21607168447395 4.958919833450366 22.257904977500257 0 0 0 +1519 3 -1.2 1.999258885481254 0.38495514931702585 23.13011283679673 0 0 0 +1099 2 0.6 31.08631571132682 1.7592321301933682 22.723177244527907 0 0 0 +1243 3 -1.2 26.92200217654404 1.4499376200905598 21.655211718238792 0 0 0 +760 2 0.6 7.142202677700236 7.028674788519913 34.32900763865746 0 0 -1 +1291 3 -1.2 30.655690864926978 0.5857004994384128 20.093922816925524 0 0 0 +1362 3 -1.2 31.2732746372644 7.363653409244691 21.413461729924244 0 0 0 +1409 3 -1.2 14.016830772304045 14.937721391106725 33.98745916619378 0 0 -1 +1423 3 -1.2 27.333827280369906 3.723652857172078 22.050722734124843 0 0 0 +1454 3 -1.2 26.649724991601268 7.6979040627010225 20.041836118734366 0 0 0 +1660 3 -1.2 28.89331406025431 1.407068381778274 23.303058852366526 0 0 0 +1684 3 -1.2 30.890866737971045 2.9570670414233384 20.733165852050533 0 0 0 +1731 3 -1.2 30.062138611004123 2.101280466981301 25.8687990858845 0 0 0 +1801 3 -1.2 31.161770708602738 2.1996518002297294 18.300792485139443 0 0 0 +1964 3 -1.2 28.87268417064614 7.7319908263522406 21.238166644083623 0 0 0 +2120 3 -1.2 27.832750609224245 0.9139924503294944 26.27343010034075 0 0 0 +2207 3 -1.2 29.926712378305226 7.053895457061809 25.096456448011867 0 0 0 +2289 3 -1.2 28.14997684362877 5.7084739935090685 20.040157186472783 0 0 0 +2783 3 -1.2 21.68804701215989 11.767814945743826 32.79974432451425 0 0 0 +2625 3 -1.2 27.23038458581263 2.8926333118037824 19.552649298549724 0 0 0 +2705 3 -1.2 27.723698180800724 6.052478244678783 25.104971936072808 0 0 0 +2765 3 -1.2 30.587950878041035 3.896878090329487 24.090511416960332 0 0 0 +5 1 3 6.064983412474592 13.646643665964566 24.413828741545196 0 0 0 +726 2 0.6 27.88896948914521 2.698861562314701 32.37195321794002 0 0 0 +29 1 3 33.91924291852739 16.16649121367891 24.73600704063223 -1 0 0 +91 1 3 0.4735982386237835 12.21006669140914 19.497094651032956 0 0 0 +179 1 3 33.993757929769984 8.424499929999206 21.190728197627433 -1 0 0 +240 1 3 0.8739946609326763 11.236098577593255 25.95309307274067 0 0 0 +326 1 3 3.325839408661105 11.747117254745735 19.92552021100122 0 0 0 +329 1 3 33.03510618970314 11.256879222941745 20.96206071103543 -1 0 0 +360 1 3 33.55779114588181 16.745840741252042 19.290583800943516 -1 0 0 +403 1 3 34.30372162040866 7.97453603463398 18.32487508239964 -1 0 0 +409 1 3 3.254075626769521 10.064557894372012 24.714043531448045 0 0 0 +410 1 3 3.063420394837123 11.579891595123547 22.399159572074034 0 0 0 +553 1 3 1.507554004980512 14.992372545019592 19.794799443358023 0 0 0 +562 1 3 6.050309583914177 12.244365769095316 19.297076671036717 0 0 0 +644 2 0.6 33.615183903393635 14.204607408033441 22.00253022981237 -1 0 0 +733 2 0.6 2.1883293963198853 14.469897219168585 23.489165930432666 0 0 0 +902 2 0.6 4.161508752889901 14.659850857072946 21.544968788256934 0 0 0 +2150 3 -1.2 33.37277025103059 7.400947316710873 17.338139610014682 -1 0 0 +1102 2 0.6 2.7736493616059397 9.105910890220636 18.441630407798815 0 0 0 +1245 3 -1.2 0.7749300382811808 16.24283951582849 19.26441717986583 0 0 0 +1258 3 -1.2 32.979827076282646 15.772782291894165 20.28567583423536 -1 0 0 +1303 3 -1.2 3.264429099494363 12.656440292043246 21.209502710381123 0 0 0 +1361 3 -1.2 0.18458132859250515 11.849855762441068 21.01297791373018 0 0 0 +1377 3 -1.2 0.9623426856218203 16.47871758408363 25.56503425789235 0 0 0 +1445 3 -1.2 4.831940020137166 7.807890814140199 17.827644885694575 0 0 0 +1481 3 -1.2 2.2797277379118253 14.252038972034198 25.92669430712018 0 0 0 +1574 3 -1.2 33.34638549869032 11.651887211304636 19.424879038395574 -1 0 0 +1580 3 -1.2 3.7691323982353953 16.812408628648864 25.365181117033774 0 0 0 +1656 3 -1.2 4.496218703830479 11.958439367775831 19.022528281571226 0 0 0 +1800 3 -1.2 2.378930580280937 11.127485764754764 25.58616558863403 0 0 0 +1849 3 -1.2 2.3145266182989954 16.93914512641391 23.27532732358969 0 0 0 +1945 3 -1.2 34.12608548709833 10.941599314739287 25.044318941103246 -1 0 0 +2019 3 -1.2 33.015536990885394 15.772002680456094 26.00366235449279 -1 0 0 +2039 3 -1.2 5.971716540008692 16.98042055865025 24.205368174792017 0 0 0 +2042 3 -1.2 0.5534587527336052 13.728191228147406 19.387822614578724 0 0 0 +2108 3 -1.2 33.085969380680595 9.758842351250925 21.294380988977302 -1 0 0 +2235 3 -1.2 1.9315087332197025 12.135603696645818 23.129411078097625 0 0 0 +2324 3 -1.2 5.995592956661333 12.351297745617792 25.15595624813518 0 0 0 +2406 3 -1.2 1.4586264446061008 15.00073331107311 21.27673726258074 0 0 0 +2428 3 -1.2 3.273572722793118 10.693188102261585 21.10314326580072 0 0 0 +2435 3 -1.2 1.912696318637344 11.67972390229081 19.27206347610094 0 0 0 +2506 3 -1.2 3.980678604438028 9.302549744120759 25.71184397271406 0 0 0 +2589 3 -1.2 4.3027705796523215 16.964752264010908 21.687175426683265 0 0 0 +2613 3 -1.2 34.07315879408402 14.932420233544603 23.976679844723243 -1 0 0 +2655 3 -1.2 2.8870744613913253 14.697244623791692 19.39000821981899 0 0 0 +2685 3 -1.2 3.916883957974411 10.927057518520956 23.531588466239025 0 0 0 +2730 3 -1.2 2.182616102817265 9.444140235705078 23.916291045711038 0 0 0 +2914 3 -1.2 4.648619470705936 8.227425259176238 20.105917677155034 0 0 0 +31 1 3 14.405915316559842 12.492974708937426 20.135183285732314 0 0 0 +141 1 3 10.577278261218463 11.992449492330138 23.972208453898705 0 0 0 +162 1 3 10.77199610634903 14.713642254262204 24.716342756448434 0 0 0 +184 1 3 15.315780179320248 14.925009050177746 22.854590782663507 0 0 0 +202 1 3 9.097266750457214 9.909590720891721 22.670677423212815 0 0 0 +247 1 3 11.590088383788252 10.153040464428424 19.57809911052514 0 0 0 +266 1 3 7.1800065913926785 7.1075058830535225 25.54447319487981 0 0 0 +323 1 3 14.627897054788967 8.371069212503475 25.406735540600188 0 0 0 +435 1 3 7.655310925575033 14.523086804197192 22.014415664304252 0 0 0 +481 1 3 15.069874522850851 8.698059407039796 18.31290018248244 0 0 0 +484 1 3 7.914886752915645 14.197009061766984 18.0254284101073 0 0 0 +567 1 3 12.506659706284479 14.93880863548357 20.356560913492284 0 0 0 +589 1 3 10.64944356423728 15.192177555042552 18.009841564986576 0 0 0 +609 2 0.6 10.011835101106893 7.634374782387514 20.7276192335597 0 0 0 +711 2 0.6 14.538329309022314 11.244200343364882 23.871840204611136 0 0 0 +722 2 0.6 8.740164225014082 11.78176995372527 20.092246383803385 0 0 0 +809 2 0.6 12.137513873674788 9.668656450545322 25.418201829166552 0 0 0 +849 2 0.6 6.148687624734679 11.273280161136507 22.772310569066924 0 0 0 +870 2 0.6 8.001116162176727 9.285024908811673 19.03913509339526 0 0 0 +918 2 0.6 14.030533626095627 9.378524960729344 21.80258917156963 0 0 0 +951 2 0.6 7.879284876263048 16.279875375542233 24.315067504897563 0 0 0 +956 2 0.6 7.434778580941038 10.723872323030305 25.515993455578588 0 0 0 +986 2 0.6 9.472630127011586 8.681003106746065 25.57967750880679 0 0 0 +1050 2 0.6 12.00364847153394 12.094605415934394 21.749344476715343 0 0 0 +137 1 3 3.032778151900254 0.27721929824882663 26.37859843420082 0 0 0 +1280 3 -1.2 4.744379537091312 13.912835881817301 23.801711062912446 0 0 0 +1380 3 -1.2 10.203032536382779 10.610215349179636 19.282561592462283 0 0 0 +1488 3 -1.2 12.490109695720822 11.260932390967078 19.166570673172732 0 0 0 +1505 3 -1.2 13.411932300803235 13.683396766387489 20.676901802715413 0 0 0 +1541 3 -1.2 14.358337946762207 8.916478560071443 19.606113551989022 0 0 0 +1959 3 -1.2 8.127234237939382 0.1095204338228586 18.15313758122595 0 0 0 +1694 3 -1.2 11.950238385923178 11.458404476711712 24.068177584401813 0 0 0 +1705 3 -1.2 10.038539207651143 9.090943701061457 23.493669057620455 0 0 0 +1708 3 -1.2 9.345980956360595 14.941864686283605 25.13740837395725 0 0 0 +1748 3 -1.2 11.582785157691374 14.151874901572118 25.82174119443153 0 0 0 +1797 3 -1.2 5.714620792292468 17.00737641301724 26.72675820607447 0 0 0 +1820 3 -1.2 11.636862869861625 8.867907781392717 18.632732955843295 0 0 0 +1833 3 -1.2 9.850662879917405 11.327358757606873 22.7335016627105 0 0 0 +1843 3 -1.2 8.48004685999818 15.70762835054145 22.389837799078563 0 0 0 +1897 3 -1.2 9.217551136457098 15.076848752586612 18.599513986323657 0 0 0 +1949 3 -1.2 13.861695984873691 14.894865136802288 23.106825099742505 0 0 0 +1960 3 -1.2 14.51196740294607 12.836019416147238 18.707095147196743 0 0 0 +2005 3 -1.2 9.664377935074171 11.770629551845813 25.123103409162784 0 0 0 +2009 3 -1.2 11.39950855969487 15.143689038691122 21.316412082348066 0 0 0 +2027 3 -1.2 7.787909899859873 10.151811454746007 23.342661096539466 0 0 0 +2034 3 -1.2 8.760978099401962 9.342735825340856 21.34568961539339 0 0 0 +2076 3 -1.2 6.846989164374955 11.074400642300104 18.91837643938713 0 0 0 +2079 3 -1.2 11.694917876075342 9.732654781363678 21.005116966531023 0 0 0 +2147 3 -1.2 8.389275813489611 13.586589134942585 21.1351335360098 0 0 0 +2199 3 -1.2 6.830471185623216 7.385053560554685 19.48091632144212 0 0 0 +2252 3 -1.2 10.709061162277186 13.536769549973151 23.71160415046079 0 0 0 +2345 3 -1.2 8.678000968739132 12.936854146695374 17.812741168023873 0 0 0 +2376 3 -1.2 11.69164572571711 14.59761315302274 19.025293745506865 0 0 0 +2382 3 -1.2 11.164965479837655 16.64431111152558 17.70335762926837 0 0 0 +2454 3 -1.2 6.681810084069554 13.61131812327023 18.877238532715246 0 0 0 +2468 3 -1.2 11.142760497865199 16.26518949131309 24.753891111762517 0 0 0 +2483 3 -1.2 6.273607479557771 14.916810565639901 21.637539603570648 0 0 0 +2519 3 -1.2 14.058176661816468 8.787565004695699 24.07620397870807 0 0 0 +2557 3 -1.2 15.089296592960691 17.02948098310898 25.673665781178922 0 0 0 +2624 3 -1.2 13.353427206852494 16.13346191422531 20.251323162449225 0 0 0 +2692 3 -1.2 14.18059938388966 13.139320376464049 27.139797398162322 0 0 0 +2727 3 -1.2 6.461230728096107 14.643170409203659 25.594313386025597 0 0 0 +2954 3 -1.2 5.894219780405039 12.159128350089027 20.809521620289477 0 0 0 +2997 3 -1.2 7.250802841083096 13.691505784986253 23.39664063222153 0 0 0 +3 1 3 17.271493066103062 15.398332152491678 20.63848309149186 0 0 0 +242 1 3 17.21968755519269 11.450382601326059 20.339355603532976 0 0 0 +522 1 3 16.337881746617555 16.743999923596242 24.910899693292187 0 0 0 +632 2 0.6 18.781379314786342 9.3686733903993 25.485289307740334 0 0 0 +820 2 0.6 15.686807967131637 13.671874511335824 25.661388999801552 0 0 0 +846 2 0.6 16.181230198232015 13.897541586246906 17.441789349980645 0 0 0 +890 2 0.6 20.206311608566057 10.85905293811428 21.631035004077717 0 0 0 +969 2 0.6 17.715251716092116 11.89434564488894 23.62854802090158 0 0 0 +1079 2 0.6 18.324250134609123 13.97650303816075 24.919221141543606 0 0 0 +1238 3 -1.2 18.234613870943093 14.28334113120135 20.78559099229109 0 0 0 +1263 3 -1.2 18.80367450915534 8.263678834661151 22.142962740485505 0 0 0 +1309 3 -1.2 17.278408993735955 11.996944979374181 25.826341173019223 0 0 0 +1450 3 -1.2 16.881967158872733 15.663608924957193 19.229231136678404 0 0 0 +1500 3 -1.2 15.432258240572015 9.483452607546253 25.955633245670818 0 0 0 +1556 3 -1.2 18.77925604673286 13.678975419048994 17.713640428963807 0 0 0 +1683 3 -1.2 15.959122081941782 13.718318599018223 23.43806075897238 0 0 0 +1754 3 -1.2 16.007618541335 12.450375943196674 20.471474412832652 0 0 0 +1857 3 -1.2 16.994547441798787 9.183487594275254 23.528660736800667 0 0 0 +1914 3 -1.2 17.86513594255614 16.5816642761278 21.341435576931932 0 0 0 +1980 3 -1.2 18.890356505604725 8.986941834655344 19.248804500596908 0 0 0 +1440 3 -1.2 19.51524961988651 10.350822994326302 34.25406814204658 0 0 -1 +2037 3 -1.2 20.558592077182173 16.182934409676925 18.234235100456694 0 0 0 +2163 3 -1.2 18.937354617743726 7.1900510274813065 17.36095188868996 0 0 0 +2408 3 -1.2 16.733514576821573 10.021852266727745 20.350195950863636 0 0 0 +2485 3 -1.2 17.77954513520705 11.756266299990243 18.914811532794744 0 0 0 +2591 3 -1.2 15.442282964169516 9.911466001124799 17.547701381410462 0 0 0 +2631 3 -1.2 15.881570492664524 15.066918469173189 21.402081603152443 0 0 0 +2665 3 -1.2 19.891076217837217 12.87360621224027 24.05390518142747 0 0 0 +2667 3 -1.2 18.164256501638512 11.523511544428725 21.471747275420725 0 0 0 +2820 3 -1.2 14.069809989339388 11.491978907916545 21.20063596095117 0 0 0 +2830 3 -1.2 16.881843100089938 15.474035078061487 25.499346207207545 0 0 0 +2903 3 -1.2 15.84015191091312 16.261154755186155 23.482152402505747 0 0 0 +102 1 3 21.25520064330375 13.302558961270494 23.577210275049467 0 0 0 +168 1 3 25.53174714908956 11.570554463660276 18.113448678019488 0 0 0 +215 1 3 26.95132172321146 16.42147458122586 22.66462271548364 0 0 0 +224 1 3 25.948738767989905 12.515218332735177 25.826883183589718 0 0 0 +235 1 3 19.077673946535576 12.286550551640557 18.11903657635141 0 0 0 +296 1 3 25.082739743423126 15.24452345371057 20.64260627011871 0 0 0 +612 2 0.6 24.170975842811917 12.247996122937968 22.66866924683049 0 0 0 +616 2 0.6 24.37460010946832 8.552024344195026 18.044106891727093 0 0 0 +790 2 0.6 23.019809760450606 16.33743701664732 25.836396805012797 0 0 0 +861 2 0.6 20.682791473438385 14.452183709634626 20.147481719095374 0 0 0 +990 2 0.6 21.347376378455145 10.472890145915372 24.607953749800835 0 0 0 +1008 2 0.6 24.554373027380837 9.405649582135439 20.76849133512861 0 0 0 +1188 2 0.6 21.409274620942128 10.315099607220006 19.1796666014826 0 0 0 +1201 3 -1.2 20.297831336149144 10.611780189187774 26.477552237192555 0 0 0 +1302 3 -1.2 24.879319372745005 8.414722975029806 25.20174204341542 0 0 0 +1411 3 -1.2 20.190168858444128 12.155007100977661 19.11301747012605 0 0 0 +1624 3 -1.2 19.866704526026933 15.757347652118114 25.88503288040903 0 0 0 +1155 2 0.6 14.72584495022626 5.721356615872393 33.87144581490754 0 0 -1 +1958 3 -1.2 21.027597860815742 8.946093837466691 17.331278080279294 0 0 0 +2126 3 -1.2 25.263867764981 13.001326598190152 18.512236838210498 0 0 0 +2132 3 -1.2 21.008234583621487 8.063338856591692 24.527818129015397 0 0 0 +2152 3 -1.2 23.54499123316827 8.609437227394471 23.04789732277151 0 0 0 +2208 3 -1.2 21.799541443255766 12.118752208744544 22.781120383522207 0 0 0 +2278 3 -1.2 25.38882346270601 14.010214633659324 21.389415530543584 0 0 0 +2336 3 -1.2 21.9198359704804 8.400271797222569 20.3409165457165 0 0 0 +2340 3 -1.2 22.19063965917105 13.536950612930283 24.74120170131761 0 0 0 +2451 3 -1.2 26.13314902021215 15.521520688091046 19.46286442005493 0 0 0 +2471 3 -1.2 23.70263851174537 15.56043595094322 20.31370338543585 0 0 0 +2604 3 -1.2 24.519425076976482 10.631696377698608 18.708579444986395 0 0 0 +2616 3 -1.2 21.127556743078458 14.536794464547095 22.724777659745005 0 0 0 +2770 3 -1.2 25.226128222668958 11.616966288418421 24.922875307268676 0 0 0 +2907 3 -1.2 26.11594421729083 13.94036080964063 25.512132455575625 0 0 0 +118 1 3 27.52858960931131 15.11391208208584 18.919597004681055 0 0 0 +334 1 3 29.183729590902043 13.377234512654924 20.762137359593957 0 0 0 +358 1 3 29.062260920448715 14.543794594739525 23.54405939877047 0 0 0 +381 1 3 27.27939527172993 11.45933570585795 21.99404036258282 0 0 0 +382 1 3 28.928353569523946 9.67426216549438 23.735236249786084 0 0 0 +411 1 3 28.94817732426363 12.174938612904672 25.472483112142466 0 0 0 +444 1 3 29.669303745160253 16.884324038282482 17.817277642389055 0 0 0 +1536 3 -1.2 20.00098217094066 0.7886282436516325 17.658720084521395 0 0 0 +794 2 0.6 30.05295605319384 13.425523600612912 17.34804304467306 0 0 0 +1092 2 0.6 28.858202325258457 10.195121039923356 18.93974052268653 0 0 0 +1306 3 -1.2 28.338858720765863 12.078042994727513 20.976560709217306 0 0 0 +1343 3 -1.2 30.091576966108413 9.052500278736373 22.941255426543297 0 0 0 +1392 3 -1.2 27.498439405457 11.922934932745433 25.94895372085665 0 0 0 +1553 3 -1.2 30.16068843358755 13.309405265306651 19.682119920657204 0 0 0 +1557 3 -1.2 27.670012721941177 14.320737411631054 17.705618435503645 0 0 0 +1614 3 -1.2 28.151593460595357 14.471261714396766 20.24429636829903 0 0 0 +2167 3 -1.2 32.06685456208432 12.048069587530447 21.68801877573871 0 0 0 +2180 3 -1.2 28.18579773631228 8.661054789432805 24.60911787219364 0 0 0 +825 2 0.6 12.567845801979209 12.546137004766377 17.28356897409477 0 0 0 +2320 3 -1.2 29.58598902580365 13.841583991007695 22.21799761346279 0 0 0 +2325 3 -1.2 29.337651675295515 11.013535176069837 24.464067048967003 0 0 0 +2439 3 -1.2 26.943525370158007 11.126058561341353 18.43050071694054 0 0 0 +2480 3 -1.2 30.380813251190418 9.593028349143378 26.69155132765892 0 0 0 +2569 3 -1.2 30.388966054373633 9.59261876547052 20.56039625448284 0 0 0 +2593 3 -1.2 27.634867302396383 15.103199526348664 23.134463540208444 0 0 0 +2700 3 -1.2 27.97961540420295 10.144507687669284 22.590881740197084 0 0 0 +2701 3 -1.2 29.815941673936607 15.791816413898104 23.767351620249265 0 0 0 +2761 3 -1.2 28.826503434924735 7.777502660816401 18.81315941724657 0 0 0 +2855 3 -1.2 29.18073518520093 13.574802630200766 24.811053250478192 0 0 0 +2925 3 -1.2 28.401338510054096 16.395883927892903 18.684356900351755 0 0 0 +2973 3 -1.2 25.973650288832626 11.083730107593754 21.49351460466115 0 0 0 +2990 3 -1.2 27.43924554588384 12.390159687515299 23.155708176147723 0 0 0 +2747 3 -1.2 21.783051456021195 14.63168315959776 31.79069780731133 0 0 0 +140 1 3 3.313059686004584 3.523235699890183 29.43760183317012 0 0 0 +201 1 3 1.0865283903826282 5.528209606188059 32.244040475167495 0 0 0 +2674 3 -1.2 23.844847464125895 16.21478723955496 28.244264183163324 0 0 0 +245 1 3 2.682543816474488 0.6455676954410057 29.382253680171097 0 0 0 +252 1 3 3.3212487378088618 6.879035536470827 33.794949357054136 0 0 0 +348 1 3 5.361827668138975 7.795337172152833 28.580573954550324 0 0 0 +425 1 3 5.433696512778608 3.852478053193791 27.445559996928818 0 0 0 +489 1 3 0.8048073113664798 5.020475735283631 29.25340029018692 0 0 0 +501 1 3 0.2794088984704516 1.0281258295351159 25.70854832017338 0 0 0 +608 2 0.6 2.182767934320409 1.9031199982378197 32.759439953449046 0 0 0 +645 2 0.6 33.524529990096845 2.762087790283853 30.97107487489776 -1 0 0 +715 2 0.6 4.244035381911046 6.83612544539374 31.063220449468815 0 0 0 +741 2 0.6 3.3714793445753384 7.021489304751608 26.40332980458696 0 0 0 +792 2 0.6 33.617647306902214 0.48459650426361023 28.747665898971277 -1 0 0 +897 2 0.6 33.155533115005724 3.8086908084737545 27.053418400634698 -1 0 0 +964 2 0.6 4.978532423577482 2.579316983774677 31.42442654011559 0 0 0 +1005 2 0.6 2.3644496623287017 3.442674928659214 26.36747900574856 0 0 0 +1265 3 -1.2 3.884997292723651 0.5380334754577593 32.174871752978405 0 0 0 +1346 3 -1.2 2.7308447780293634 2.1261137408953243 29.952752283067184 0 0 0 +1430 3 -1.2 2.2709924762352967 6.517658652841916 32.6014886284566 0 0 0 +1436 3 -1.2 4.492733439908251 3.027378027723264 28.54562747726883 0 0 0 +1578 3 -1.2 33.90601615920773 4.252123830790089 29.079756580876438 -1 0 0 +1753 3 -1.2 26.220085367558937 16.235585536848156 29.301901779423076 0 0 0 +1560 3 -1.2 28.37861468949431 4.047324237721972 17.55932027142159 0 0 0 +1662 3 -1.2 2.107601687573662 4.2194889114546275 28.788222008331157 0 0 0 +1700 3 -1.2 33.519536644866896 7.743778558973597 27.68576826429138 -1 0 0 +1903 3 -1.2 1.1085636156142424 5.490967845834019 26.878510509151525 0 0 0 +1604 3 -1.2 7.909302991286214 5.300689727537226 17.264196068467744 0 0 0 +2627 3 -1.2 25.8028334884223 11.946073227518259 29.76534702002311 0 0 0 +2598 3 -1.2 0.5492242187456303 6.562405590105626 29.406576447311082 0 0 0 +2636 3 -1.2 1.2443412947273755 4.320453039700346 33.225146991705536 0 0 0 +2745 3 -1.2 34.11744850782087 6.161553312904245 32.18770196112727 -1 0 0 +2816 3 -1.2 3.9311220581201747 4.384615806452529 30.454053826772135 0 0 0 +2931 3 -1.2 1.2261363391139128 4.806233094428257 30.842702296924045 0 0 0 +2955 3 -1.2 32.994473031770504 0.5958330733412871 31.532447780345464 -1 0 0 +50 1 3 10.118814615646986 7.356987077999757 32.59473065442866 0 0 0 +109 1 3 12.577001362911268 0.9379493960641098 32.34624181835411 0 0 0 +190 1 3 7.376600045457518 1.853010923113048 26.42137337580292 0 0 0 +229 1 3 11.109703242690575 2.070999506204912 30.695480147295722 0 0 0 +2618 3 -1.2 20.24252585423644 14.680528527066633 28.108191829151604 0 0 0 +2487 3 -1.2 24.0986016597478 16.049975913004822 33.32622323072822 0 0 0 +441 1 3 8.793702300530821 3.6436944534067557 29.950621105506716 0 0 0 +520 1 3 13.871745432897836 5.194962831730439 28.542256375977658 0 0 0 +541 1 3 10.18207698953313 3.1763550926617525 26.488917611745958 0 0 0 +563 1 3 7.375832764029703 3.5135620849373037 32.508712942931844 0 0 0 +579 1 3 11.354345635905265 0.8206644410613856 28.011898856656316 0 0 0 +624 2 0.6 7.469934844180763 6.47756991305228 31.240012475013078 0 0 0 +761 2 0.6 14.163549963312523 7.718875166141943 31.22225849786736 0 0 0 +773 2 0.6 13.879213533202067 2.8281729784964105 27.433701483596053 0 0 0 +2449 3 -1.2 25.283718045797784 9.367424372168436 27.60872506435826 0 0 0 +833 2 0.6 6.033441836036213 5.298920146022668 30.292688121329117 0 0 0 +878 2 0.6 9.19967721003776 6.384991027250001 28.419776135322422 0 0 0 +2395 3 -1.2 24.790441822588164 14.15961111976277 29.202135360201105 0 0 0 +1030 2 0.6 11.491917423052174 6.810460743611025 27.19897577706203 0 0 0 +1033 2 0.6 12.746370426700281 5.3172673754545245 31.285761569987205 0 0 0 +1927 3 -1.2 10.600844556016398 7.823820655882447 33.975690774215494 0 0 -1 +1221 3 -1.2 8.528132058861647 5.068478083968102 30.05894405762157 0 0 0 +2010 3 -1.2 25.320295849875492 12.45662850528572 27.29644961434895 0 0 0 +1383 3 -1.2 10.943147168213375 1.0863032114108502 29.525375820622596 0 0 0 +1388 3 -1.2 12.573623652841793 1.9777149779711207 31.15449853976996 0 0 0 +2693 3 -1.2 11.461760016033615 13.028654397022414 33.9329994158104 0 0 -1 +1523 3 -1.2 8.745837861007763 2.7886693758150543 28.753492260357863 0 0 0 +1592 3 -1.2 10.425452011778011 5.966483684431704 32.21161324942314 0 0 0 +1633 3 -1.2 6.347446140603318 4.456983871758823 28.40787249314736 0 0 0 +1702 3 -1.2 7.075246960849841 0.9984551350951079 27.6942293599569 0 0 0 +1777 3 -1.2 10.788064499742571 7.683957043628048 29.31854277685674 0 0 0 +1879 3 -1.2 11.117183654164235 2.247554177451501 27.410064535324384 0 0 0 +1893 3 -1.2 12.787294950763107 0.45511172809608774 28.081815206730685 0 0 0 +1156 2 0.6 27.88894299353334 14.89615150020681 33.212637723001016 0 0 -1 +1975 3 -1.2 5.502143801391736 6.96826319494804 27.371144825732074 0 0 0 +1984 3 -1.2 10.245653125707875 3.286498673411924 30.530624775460492 0 0 0 +2084 3 -1.2 10.895986657542796 1.3072787185866004 32.04429231152345 0 0 0 +2159 3 -1.2 13.289568010383825 4.108910824454039 29.434425887589423 0 0 0 +2187 3 -1.2 13.638773784987738 6.517928284519642 29.18708705214305 0 0 0 +2203 3 -1.2 6.53768948806029 4.713013852336823 32.37570984539546 0 0 0 +2378 3 -1.2 14.855558480654551 3.938740015058657 32.292839655428686 0 0 0 +2460 3 -1.2 9.992766542546699 4.47733534108122 27.1064681760878 0 0 0 +2493 3 -1.2 15.347429768026572 1.810067173834178 28.652713811783574 0 0 0 +2529 3 -1.2 8.097835833249231 6.687621883164748 26.622522186959095 0 0 0 +2588 3 -1.2 8.671813815892616 3.786086367879934 33.28422092649124 0 0 0 +2610 3 -1.2 6.193155291193569 7.372455909595251 29.76236940188695 0 0 0 +2711 3 -1.2 13.134487254007396 5.053891142229476 27.22770956683274 0 0 0 +2789 3 -1.2 7.808541526790428 3.0159360115677187 31.103670131376568 0 0 0 +1999 3 -1.2 21.98432475463758 9.152340398983188 29.917242827109995 0 0 0 +212 1 3 15.772226233579651 2.8204033039599574 32.00225535906353 0 0 0 +287 1 3 20.041844331008406 2.675678855238899 31.39228148753592 0 0 0 +361 1 3 17.189127569767965 7.387452674005599 32.22568799180218 0 0 0 +469 1 3 16.6122381445057 1.913005631346231 29.4207734563955 0 0 0 +595 1 3 17.519320900084725 1.8681024652245946 26.72168447265201 0 0 0 +1946 3 -1.2 23.37763462560928 12.801385501313366 34.257258938618456 0 0 0 +1141 2 0.6 17.46900941439382 5.035233388578442 27.877241491314166 0 0 0 +1144 2 0.6 17.249023077849646 6.245050548319348 29.3760414203378 0 0 0 +1262 3 -1.2 19.457913876164163 5.66628538233453 29.239915656006318 0 0 0 +1917 3 -1.2 29.55187418101472 1.5418403809184704 34.289842682193154 0 0 -1 +1581 3 -1.2 16.546370028568308 2.9168190611362443 30.58744486520064 0 0 0 +1136 2 0.6 24.105981005747715 1.8648247194762015 34.30617978815893 0 0 -1 +1824 3 -1.2 16.974738216854966 0.5325528003284592 29.794388045554257 0 0 0 +2045 3 -1.2 16.33926660261266 7.127041345718858 31.03933582590575 0 0 0 +2090 3 -1.2 17.32825894805324 0.2889130323143611 26.76544247896417 0 0 0 +2110 3 -1.2 19.382837219007683 3.7616835748090667 32.311661726057345 0 0 0 +2430 3 -1.2 15.041120664555871 1.5105636854589592 31.795229838556796 0 0 0 +2607 3 -1.2 19.18124945787331 1.4954533999895796 31.212789567209484 0 0 0 +2626 3 -1.2 16.690628196973226 7.758007656255181 27.86924150593336 0 0 0 +2793 3 -1.2 15.33604993667304 4.892908843615504 28.290143056687544 0 0 0 +2812 3 -1.2 18.204048050524882 7.035883505982366 25.71619607182213 0 0 0 +2873 3 -1.2 18.583807453734757 6.89090571808484 32.03181629162473 0 0 0 +2932 3 -1.2 17.61475768292412 2.2855580870985976 28.206153374640117 0 0 0 +131 1 3 20.64557159687188 4.58566540133898 26.643472676399323 0 0 0 +1772 3 -1.2 25.48108173868608 9.03442407267841 31.829777496148992 0 0 0 +180 1 3 20.643374577393743 4.834097376127286 29.501556239910016 0 0 0 +1489 3 -1.2 20.707450241308827 12.436344523367639 29.096613155995236 0 0 0 +392 1 3 24.668924973743696 2.743975943936049 30.074408084227667 0 0 0 +408 1 3 26.012617051505877 0.1853554748177217 29.749313584578328 0 0 0 +449 1 3 25.67871719396471 6.180934011121624 28.450176910244778 0 0 0 +1239 3 -1.2 24.26533889099547 16.192817982263517 30.727048785894148 0 0 0 +543 1 3 24.975136798605842 3.5840062231187613 27.239203964980284 0 0 0 +734 2 0.6 22.440450721139555 7.269994358365337 29.067125618812096 0 0 0 +1035 2 0.6 21.822318919031026 15.862519715841177 30.105380137065257 0 0 0 +817 2 0.6 24.19470885134761 7.000619442986073 31.401289430552108 0 0 0 +1026 2 0.6 20.426246285334496 9.276559785633205 28.201278623645862 0 0 0 +1107 2 0.6 20.279310933744465 7.798431139657887 30.69189663763794 0 0 0 +967 2 0.6 19.650297310265433 9.87836412567655 32.10207785923161 0 0 0 +1244 3 -1.2 21.079117108489406 6.05005550935738 26.126794342210488 0 0 0 +1482 3 -1.2 24.445418413456668 6.102206209611232 29.261230554992196 0 0 0 +1561 3 -1.2 21.789164276279667 0.5247585795244906 29.367942081456597 0 0 0 +1616 3 -1.2 24.253347014659866 6.021197644324863 33.53935058906819 0 0 0 +1765 3 -1.2 21.391249428273525 1.8305782245059294 27.33146894783165 0 0 0 +1783 3 -1.2 21.647144300871545 5.384356239210349 30.420911298339497 0 0 0 +1874 3 -1.2 24.35152228664535 2.963894642103233 28.596851398366404 0 0 0 +1978 3 -1.2 23.17195360112656 8.207619562129043 26.9913021865684 0 0 0 +2146 3 -1.2 21.28208393683489 4.58871609242119 28.05938774756145 0 0 0 +2564 3 -1.2 21.384425134647685 2.2698797655162792 31.857098487043228 0 0 0 +2574 3 -1.2 23.74921010118996 3.6226957158294915 32.94121205968159 0 0 0 +2702 3 -1.2 25.327412014200068 7.00246776498902 27.180306080974482 0 0 0 +955 2 0.6 14.754710576956217 0.9478008573993149 22.229267942557705 0 0 0 +2946 3 -1.2 24.94148985762147 1.2579999726679068 30.279966466292905 0 0 0 +2982 3 -1.2 20.20719030709946 3.41979052748516 30.01012792513597 0 0 0 +182 1 3 28.480945451720274 2.055099228754457 29.527967965352385 0 0 0 +300 1 3 29.304744265495835 1.1020830820658378 26.797502751501543 0 0 0 +940 2 0.6 20.017638687827915 13.520378571097948 32.046547464892704 0 0 0 +727 2 0.6 30.891090558556115 2.2206833844260827 32.24159219512899 0 0 0 +893 2 0.6 29.369809456637643 6.60515412632303 30.059886203309826 0 0 0 +894 2 0.6 27.243466276478795 5.236316760479707 31.141528400534014 0 0 0 +953 2 0.6 27.43401619456054 9.130211047009423 28.354114885223098 0 0 0 +996 2 0.6 31.635566342645394 7.493877832100393 26.403464849891385 0 0 0 +1043 2 0.6 28.57610844869786 5.503540495073878 27.890209055807407 0 0 0 +865 2 0.6 21.96687001972215 11.67627426969945 27.256760113470246 0 0 0 +1226 3 -1.2 30.046060083986678 4.360281361801379 26.623882341667365 0 0 0 +1360 3 -1.2 27.122147819392325 5.251094118008836 33.40434996869492 0 0 0 +1422 3 -1.2 26.867885726594732 6.576990137781546 29.227345413867063 0 0 0 +1424 3 -1.2 28.30565349361137 3.5130620803851067 29.530019679879913 0 0 0 +1591 3 -1.2 30.437206024375016 4.392629788777956 32.51874324780388 0 0 0 +800 2 0.6 21.40233903954552 11.103052724267107 30.704688871358005 0 0 0 +1826 3 -1.2 25.856726640846457 4.710269315503834 27.845001918859325 0 0 0 +2224 3 -1.2 28.912287795420607 1.5156277936828142 30.82530838865764 0 0 0 +2226 3 -1.2 25.624741949903637 3.5773631411569013 30.72507924047704 0 0 0 +2262 3 -1.2 27.08168248659151 1.301232011067699 29.250918008553842 0 0 0 +2300 3 -1.2 29.33178464836253 1.6692992687817172 28.23814923506021 0 0 0 +2644 3 -1.2 31.39626840598672 6.239529977762967 33.99665703631877 0 0 0 +636 2 0.6 24.09553429249469 9.809094643907395 29.91983934918673 0 0 0 +558 1 3 19.587517218211318 15.829883655091354 27.315718477897263 0 0 0 +27 1 3 3.486028120527345 15.574835437455759 28.238824375494314 0 0 0 +87 1 3 4.282925888094547 14.163999330066659 31.525575047687507 0 0 0 +94 1 3 31.731151836338945 9.449040835046747 29.88362836677257 -1 0 0 +117 1 3 31.329163889056776 15.061632380618184 32.42475145222316 -1 0 0 +128 1 3 34.19660839631388 7.913319021754574 28.966154198930756 -1 0 0 +286 1 3 33.05685556740721 15.323025984688933 27.49336211496187 -1 0 0 +386 1 3 1.374200258594284 10.376102061790874 28.68918328137386 0 0 0 +434 1 3 1.4634810159172922 13.93071216484566 27.109897314365323 0 0 0 +546 1 3 5.854044916808113 10.907159503816837 32.7586828180429 0 0 0 +654 2 0.6 6.164772273925916 13.065470312882857 29.819178414786396 0 0 0 +795 2 0.6 4.611174664375767 11.633584788612787 27.025472929136377 0 0 0 +824 2 0.6 6.336428399660301 16.455399531945126 29.54713034291567 0 0 0 +883 2 0.6 32.81568443252584 7.794650216081031 33.14088839229601 -1 0 0 +1020 2 0.6 4.381413076284131 10.609409626744853 29.895161636853857 0 0 0 +1022 2 0.6 2.60605822304082 16.09276941857029 33.3678962877646 0 0 0 +1049 2 0.6 2.3800599057295817 11.099053862888733 31.80896906936234 0 0 0 +1088 2 0.6 32.9669199408708 12.76341433604628 29.952119595038774 -1 0 0 +1140 2 0.6 1.305491951188798 13.854633023215431 32.3559395775974 0 0 0 +1478 3 -1.2 2.6423112340525807 16.545476229423823 27.353077972269244 0 0 0 +1812 3 -1.2 2.584165343506962 14.329778527178112 28.209175571435097 0 0 0 +1898 3 -1.2 3.9345534519006904 7.778802771441661 29.037604358427924 0 0 0 +1929 3 -1.2 3.0547339767524253 14.969875891494292 31.517479959330025 0 0 0 +1994 3 -1.2 2.7690436911224467 10.820063752998234 28.53939160120282 0 0 0 +2140 3 -1.2 33.11980337514176 8.648955092900028 29.878373242513284 -1 0 0 +2154 3 -1.2 0.5835015445702068 11.279952435236059 29.55829608239896 0 0 0 +2348 3 -1.2 0.7953020427773094 10.293220676527087 27.221784346347633 0 0 0 +2432 3 -1.2 32.49347378727712 14.135935676575064 28.129398000938647 -1 0 0 +2546 3 -1.2 4.1246065754025665 16.31822858776538 29.285684235364407 0 0 0 +2571 3 -1.2 1.0568935038098721 8.909684942485878 29.118588239074935 0 0 0 +2661 3 -1.2 5.202751152855206 10.001143710970563 31.801242640032086 0 0 0 +2695 3 -1.2 32.007339825801495 14.13814038289902 31.512939769005538 -1 0 0 +2729 3 -1.2 33.11145577357388 16.672674281797484 28.36255556999637 -1 0 0 +2880 3 -1.2 1.7019514423486402 9.859240950211689 33.73067059704844 0 0 0 +2901 3 -1.2 0.7660334978166092 12.595027170697339 26.8055561295295 0 0 0 +2992 3 -1.2 0.3239071985080663 14.902117300033957 27.551389716956944 0 0 0 +2994 3 -1.2 3.9854493236745236 12.8879599493198 30.822463148006932 0 0 0 +243 1 3 6.740729451049999 14.530497109886788 27.122058110898166 0 0 0 +246 1 3 14.569419365523485 13.3272659307442 30.44980191374401 0 0 0 +343 1 3 14.498596394180575 11.888790476485338 27.895482806883045 0 0 0 +394 1 3 9.946523002809553 10.484767142785392 28.096379892308065 0 0 0 +474 1 3 7.049399295960398 10.242257449204892 28.713531025652824 0 0 0 +497 1 3 10.346800309667305 16.11866998556751 28.201730751301955 0 0 0 +513 1 3 10.521740714817463 12.882229322023731 32.76865320060499 0 0 0 +539 1 3 11.195518134617208 8.81222717906596 30.190758000812277 0 0 0 +554 1 3 9.105762456554562 13.352359181373311 28.289353991026218 0 0 0 +640 2 0.6 6.984836457827197 8.57880438970503 31.603917296837352 0 0 0 +682 2 0.6 11.716949264985745 15.022458867337876 30.630238238600302 0 0 0 +709 2 0.6 7.749194355540071 13.748482176961259 31.745522682049316 0 0 0 +832 2 0.6 14.183226804733948 15.479087932439331 27.237360845953123 0 0 0 +1006 2 0.6 8.97204292358691 16.07850541628482 32.993502441931405 0 0 0 +1067 2 0.6 6.669096130701748 16.425541167341073 32.050289620096 0 0 0 +1076 2 0.6 12.326107582037885 13.877898163632352 27.86309570575462 0 0 0 +1133 2 0.6 12.815285139572733 10.259898072978293 32.44021690105916 0 0 0 +1149 2 0.6 13.937586811443504 8.682763366279605 28.486019075029077 0 0 0 +1213 3 -1.2 12.598641388406305 9.211868480264041 30.321036339177848 0 0 0 +1261 3 -1.2 11.062011334033576 11.968288248302025 31.741622058760925 0 0 0 +1294 3 -1.2 7.917648710988256 13.444967389860365 27.27848676078851 0 0 0 +1317 3 -1.2 14.065495516866212 13.284745377082556 31.93950075063557 0 0 0 +1529 3 -1.2 10.62226247296199 8.508004250440365 31.61416551150383 0 0 0 +1659 3 -1.2 13.045032934322538 16.51032953037179 31.65410489819142 0 0 0 +2675 3 -1.2 13.074917812249428 2.894524137840202 17.719392581640786 0 0 0 +1989 3 -1.2 14.874486419914021 9.397200505041186 32.994861630895876 0 0 0 +2072 3 -1.2 5.330882534282337 14.366961190341806 27.72141994730724 0 0 0 +2073 3 -1.2 6.3905004678751505 11.537252822510982 28.42366357269993 0 0 0 +2107 3 -1.2 7.4913174843395085 15.544242016349324 27.91959195491695 0 0 0 +2129 3 -1.2 6.925162395786599 8.556023159867566 25.636787626819675 0 0 0 +2182 3 -1.2 5.563079457359777 14.7640576074681 31.094778462736784 0 0 0 +2223 3 -1.2 11.821124573659153 16.332934368171053 28.154744124033073 0 0 0 +2259 3 -1.2 9.02306130335008 12.446359730375862 33.237052277372314 0 0 0 +2276 3 -1.2 8.402669100155492 10.140096705562819 27.908250230402746 0 0 0 +2377 3 -1.2 9.693083166610728 16.52217071731659 29.45981889415662 0 0 0 +2431 3 -1.2 14.200772157613295 12.181060509121771 29.46761608387795 0 0 0 +2526 3 -1.2 5.922579270578502 9.244314360388195 28.33308514673659 0 0 0 +2528 3 -1.2 10.295767487298034 14.274231764206933 32.22054669914134 0 0 0 +2537 3 -1.2 8.508656345573756 13.277862157471116 29.63101563698925 0 0 0 +2648 3 -1.2 13.596407660417306 10.81788191427567 27.485577518635232 0 0 0 +2764 3 -1.2 13.91335424496656 14.468838483926147 29.798055507684868 0 0 0 +2771 3 -1.2 5.986745500426602 12.329283692206467 32.354173701106674 0 0 0 +2829 3 -1.2 10.670222679653769 9.720285911672828 27.081400254380558 0 0 0 +2845 3 -1.2 10.1246285371423 14.53331148875963 28.158002980126675 0 0 0 +2859 3 -1.2 10.39159905280553 10.025768397789877 29.50367067871943 0 0 0 +2894 3 -1.2 8.619879037976768 7.554033977518538 32.561360829922194 0 0 0 +2939 3 -1.2 9.976193529782101 12.051202469178847 28.06223099592757 0 0 0 +2972 3 -1.2 7.491373402642222 10.1159674131798 30.114520072180422 0 0 0 +170 1 3 19.589352206616635 13.345319250297248 28.82429120171026 0 0 0 +288 1 3 17.210787967730454 12.069391099124658 30.968515524705023 0 0 0 +299 1 3 16.18661817858197 10.063765080311638 32.880712441986 0 0 0 +439 1 3 17.140272613953115 9.01585824059449 28.539757878174793 0 0 0 +504 1 3 17.127863990525434 17.033531072816423 28.623132826987156 0 0 0 +575 1 3 17.52003779468131 11.687476681479895 27.253690223399754 0 0 0 +1379 3 -1.2 16.089511034178642 12.026117934852872 27.90565122572332 0 0 0 +1393 3 -1.2 16.450931681456545 16.50728445015784 32.283522959375944 0 0 0 +1451 3 -1.2 18.028759109636702 16.92391148976442 29.95164580868725 0 0 0 +1474 3 -1.2 18.140327415456987 15.785015246119224 27.878423276004497 0 0 0 +1497 3 -1.2 18.812940560610198 16.775829483012455 32.340861340429164 0 0 0 +1629 3 -1.2 17.895828283005468 11.547773239537918 29.759929034676883 0 0 0 +1796 3 -1.2 18.50503468169807 14.693903106203054 33.44721611735006 0 0 0 +1892 3 -1.2 18.323256368155576 8.721101264587459 29.410873206352512 0 0 0 +1990 3 -1.2 16.134521325467947 13.210197613775229 30.575253073064992 0 0 0 +2007 3 -1.2 18.88360397566431 13.925840328178996 29.990109044665246 0 0 0 +2030 3 -1.2 16.164184694098513 11.08954997513237 31.66249601858508 0 0 0 +2105 3 -1.2 18.233970939365598 12.121392356179593 32.029393415312796 0 0 0 +2220 3 -1.2 17.686703267231334 10.164145167114235 27.514199084159 0 0 0 +2269 3 -1.2 15.946621454138354 9.636482667318745 29.18900610272903 0 0 0 +2374 3 -1.2 16.044575148729557 13.876866905574754 33.20642896338579 0 0 0 +2645 3 -1.2 18.595999383016075 12.811716142452076 27.694052033426985 0 0 0 +2760 3 -1.2 17.230289333863777 8.981149358685595 32.45585481552306 0 0 0 +2862 3 -1.2 15.79841690236342 16.420641790513233 28.60317784766403 0 0 0 +70 1 3 25.748360697089034 12.981423591598226 28.709501841243195 0 0 0 +420 1 3 24.7107601668958 15.732610765265699 29.312882907442713 0 0 0 +924 2 0.6 22.515518261857324 0.37773311194240944 31.37744164217953 0 0 0 +1059 2 0.6 31.070949277217007 0.041872127205349274 33.68346320891003 0 0 0 +2425 3 -1.2 9.788391818852872 10.535785182105354 34.14662927368698 0 0 -1 +2206 3 -1.2 4.1426304110843155 2.9365490692071754 33.44125722287365 0 0 -1 +2271 3 -1.2 4.6082034810848205 7.352050058316494 33.29020719323211 0 0 -1 +786 2 0.6 9.754876053624695 16.95960804786483 20.774190736540962 0 0 0 +494 1 3 21.28158589506092 0.522598007214199 28.012146285558384 0 0 0 +1275 3 -1.2 13.043383717292986 6.688794132487409 32.85092829116018 0 0 -1 +2424 3 -1.2 6.507598118512952 2.566825557125032 33.40844067455389 0 0 -1 +2068 3 -1.2 12.917928464647769 1.211147201278925 33.72082526433225 0 0 -1 +1665 3 -1.2 22.15356851019109 0.6351339004059141 22.044185958660723 0 0 0 +907 2 0.6 13.812717675052745 16.71745912479414 29.56451190566613 0 0 0 +1721 3 -1.2 16.75982437102793 2.654069625719049 33.10071046844172 0 0 -1 +1921 3 -1.2 16.539961044233415 6.827972085474075 33.434035227099635 0 0 -1 +566 1 3 24.018147685413286 4.632920504238966 34.018496993427604 0 0 -1 +1016 2 0.6 23.39251494587812 8.359296234171342 33.58923471064318 0 0 -1 +1259 3 -1.2 20.472220370428513 5.549430424216592 33.61428126470528 0 0 -1 +736 2 0.6 3.4334143828796293 0.19827876320573457 34.188865617819374 0 0 -1 +841 2 0.6 30.439223746127368 11.622634584734978 32.838784290614555 0 0 -1 +2633 3 -1.2 22.144171490026714 0.7933703577633646 24.541988243716425 0 0 0 +259 1 3 30.219635236739382 5.639244395761091 33.3237576698009 0 0 -1 +697 2 0.6 26.105823555193002 7.461617377710755 33.26912125276454 0 0 -1 +1146 2 0.6 14.165087164004522 0.1902977509145312 26.108437269849585 0 0 0 +622 2 0.6 9.829732467265734 0.8851331381856264 18.81486696343536 0 0 0 +1588 3 -1.2 3.1774140401048716 12.670862768203715 33.480371623226624 0 0 -1 +1775 3 -1.2 4.909993135744416 10.973401308536799 34.02546900129038 0 0 -1 +2144 3 -1.2 0.1626036246890109 15.415960868229599 33.34752865345025 0 0 -1 +1118 2 0.6 14.226339892100356 0.34740373488503706 29.967671761362933 0 0 0 +2482 3 -1.2 11.833506111109566 16.851709930014504 33.94894051294398 0 0 -1 +2657 3 -1.2 4.730147476564062 15.115258560374718 33.598321473476965 0 0 -1 +149 1 3 8.45248808868851 11.279172420872085 34.11624521947286 0 0 -1 +1078 2 0.6 12.424992313863989 5.07294165484066 34.15247358254637 0 0 -1 +490 1 3 14.572328529048901 13.733518779999725 33.37644227866917 0 0 -1 +239 1 3 33.72694904195132 16.688181409326535 33.383327533004724 -1 0 -1 +1859 3 -1.2 11.498933274519828 0.8335125400746392 24.897679400533594 0 0 0 +2176 3 -1.2 7.090189011380746 14.666720358504419 33.847272089472696 0 0 -1 +2750 3 -1.2 0.16994880145716149 9.456872698426984 18.202433702652563 0 0 0 +2543 3 -1.2 22.52651118140711 0.08921435491507544 19.61760476228494 0 0 0 +2060 3 -1.2 9.845304012604993 16.84379574638942 26.882122050433964 0 0 0 +292 1 3 17.714566139807957 15.83177774643547 33.05078218291427 0 0 -1 +729 2 0.6 18.15791980533503 12.568469864332643 34.18306839365437 0 0 -1 +123 1 3 24.97060155647633 16.38614966201065 32.18701131529122 0 0 -1 +744 2 0.6 21.838017037884914 16.13212067398983 33.345042240039625 0 0 -1 +840 2 0.6 25.197793810652293 13.93036790600229 33.88225993138086 0 0 -1 +886 2 0.6 24.823438595031362 11.034238483384486 32.61108232962029 0 0 -1 +2230 3 -1.2 21.09434057315934 7.995061521271341 32.986145494647175 0 0 -1 +1589 3 -1.2 0.9312238236597044 0.12159134857527422 32.40530221313234 0 0 0 +241 1 3 21.966167851445412 12.395299271085314 34.107120818460366 0 0 -1 +1337 3 -1.2 25.704399330075546 16.32536316173158 21.748382792738205 0 0 0 +2316 3 -1.2 2.9314398516516715 0.8882825544916345 27.868084074461294 0 0 0 +527 1 3 19.554872819122288 4.284525403320733 33.80879850311279 0 0 -1 +2266 3 -1.2 32.44818264138234 16.317771771145786 32.476181599659895 -1 0 -1 +2924 3 -1.2 6.494808810079515 16.753296617266283 19.815161086771877 0 0 0 +303 1 3 20.537471683721574 7.093261197448319 34.00878914198246 0 0 -1 +2828 3 -1.2 33.35253719959488 0.28237831782418626 25.839680673790944 -1 0 0 +1077 2 0.6 1.486664561373414 0.6983456969140216 17.852730964096516 0 0 0 +1816 3 -1.2 9.40620361923239 8.666224060137788 17.409310040845543 0 0 0 +2677 3 -1.2 0.40187115696642567 0.04311862412117693 19.945956901127243 0 0 0 +1333 3 -1.2 1.5355444158292673 0.10919525726776447 25.951937934455007 0 0 0 +1072 2 0.6 31.67355990153141 0.08742507847021834 17.426715540051664 0 0 0 +1845 3 -1.2 32.99218395896209 0.013237373675359196 21.838396263941146 -1 0 0 +427 1 3 2.3623749558355813 17.096591166090143 25.866581371746488 0 0 0 +1944 3 -1.2 0.17201718584182166 2.436549967684486 34.33733636577936 0 0 -1 +36 1 3 1.3498089937867224 18.726774117143034 3.3763786922540278 0 0 0 +114 1 3 2.233803137138909 21.362324501188407 4.333340435538291 0 0 0 +864 2 0.6 31.62038751553697 33.12879694031958 12.185458900829493 0 -1 0 +257 1 3 1.74951703380402 24.274434799947556 4.032104592265621 0 0 0 +380 1 3 0.3404094763117519 21.38903719521524 6.641079544501395 0 0 0 +430 1 3 3.9424813186991283 26.29873043768047 0.7052118789117154 0 0 0 +517 1 3 6.919187562656803 24.34157830136493 5.89920425745813 0 0 0 +547 1 3 34.06707619436282 22.538245397743708 1.2290676537686211 -1 0 0 +614 2 0.6 32.8591756279582 17.64354717695268 2.471575749239274 -1 0 0 +631 2 0.6 2.2715727324525625 17.306901549974203 7.306563274174705 0 0 0 +610 2 0.6 27.241077632667977 33.4925059681154 13.18849356435849 0 -1 0 +823 2 0.6 5.403697797605115 19.93551988666076 4.743252421676431 0 0 0 +852 2 0.6 32.416210657081976 23.750620951992854 4.827848366672209 -1 0 0 +107 1 3 12.455719702409489 17.194042743241194 16.902354895504672 0 0 0 +913 2 0.6 3.6875008421086646 23.498929297893874 6.331465192604442 0 0 0 +1254 3 -1.2 23.078163266547246 33.91572766573094 10.16050923353614 0 -1 0 +1068 2 0.6 3.5726806477168966 18.776730237252732 6.052206368976929 0 0 0 +1237 3 -1.2 5.705516375472605 23.80719433303504 5.278280379460973 0 0 0 +1316 3 -1.2 1.3505595085397446 25.056546691789375 2.700421494898955 0 0 0 +1413 3 -1.2 2.0078039807237036 20.263051821354903 3.2597014196315137 0 0 0 +1420 3 -1.2 1.29983285370107 22.338472204377815 7.229885406818122 0 0 0 +1431 3 -1.2 6.5450463029439305 25.23229420553078 7.089439211720117 0 0 0 +1491 3 -1.2 0.04782903797074484 25.930438823914134 0.6312955240624966 0 0 0 +193 1 3 29.235497501358793 32.509238179159595 15.784871898817737 0 -1 0 +1631 3 -1.2 33.25587895714078 21.77435915228642 6.597848836461803 -1 0 0 +1642 3 -1.2 33.151976978711645 25.74805915559653 6.3045479853761925 -1 0 0 +1743 3 -1.2 0.4063152662035253 23.939314364289583 4.540870526457979 0 0 0 +1747 3 -1.2 33.64473282642461 23.94615660392272 1.8142923959333639 -1 0 0 +1762 3 -1.2 34.2658805971693 18.768766315346088 3.8159725535218114 -1 0 0 +1991 3 -1.2 20.542050693765805 33.74825636681526 10.657487404960133 0 -1 0 +1818 3 -1.2 2.998505565464367 25.334332359922186 0.12198504433827988 0 0 0 +1996 3 -1.2 4.839866126995579 18.21709541850357 1.674975466221222 0 0 0 +2003 3 -1.2 2.7016761058764276 25.03548082831468 4.833946964698705 0 0 0 +2048 3 -1.2 2.217297716968873 18.143766979959967 4.4321132695300225 0 0 0 +2096 3 -1.2 33.54246906915524 26.290844259971127 2.886133811748532 -1 0 0 +2245 3 -1.2 5.716532408584004 17.969536199300865 5.698637164484103 0 0 0 +1476 3 -1.2 2.059587972561041 33.97496268812436 1.3380543772104463 0 -1 0 +565 1 3 7.362563204885096 20.627878920974034 16.821913017315307 0 0 0 +2396 3 -1.2 3.81185511781497 22.509650090411544 0.7309935371886873 0 0 0 +2413 3 -1.2 1.427343290275994 18.270766282116803 1.96507645279239 0 0 0 +2433 3 -1.2 0.924986607771829 21.239517819474678 5.155486805009471 0 0 0 +1503 3 -1.2 28.56184371692985 34.10104718884569 4.055054185498584 0 -1 0 +2570 3 -1.2 2.346282908224556 22.812007139043462 3.7591716707721834 0 0 0 +2578 3 -1.2 0.4755721958362519 19.949638937397573 7.231609483496666 0 0 0 +2817 3 -1.2 4.617328943649496 25.851898544761017 1.9257086258340947 0 0 0 +2912 3 -1.2 33.77730857492367 21.384723604665872 2.0735042988197954 -1 0 0 +2978 3 -1.2 1.3037714990353826 22.718852291592405 1.1093090616784016 0 0 0 +2984 3 -1.2 3.4378538715417895 21.010993796984067 5.077359871067423 0 0 0 +43 1 3 13.691138025703196 21.92197207559485 7.036953925396475 0 0 0 +44 1 3 10.866816275590093 21.25503684780917 7.722872385090752 0 0 0 +46 1 3 8.001959515146208 21.648200115860256 6.849304325250983 0 0 0 +97 1 3 7.052168215956742 25.86384531683402 8.48771391825406 0 0 0 +992 2 0.6 26.738039429544628 26.495312654608973 0.059064997432063227 0 0 0 +110 1 3 12.695172044698474 17.30398607787122 4.663795392961359 0 0 0 +1307 3 -1.2 15.497749276359864 34.108042807266706 14.635310406604102 0 -1 0 +195 1 3 7.298927438476653 21.760219061284424 3.257821510452901 0 0 0 +316 1 3 9.954092252060718 18.254914513146723 4.207897541584736 0 0 0 +347 1 3 7.904950160268187 18.912907947172567 7.9599509062182525 0 0 0 +385 1 3 8.322549054429324 24.665181606159038 3.3648443822073983 0 0 0 +442 1 3 10.908461718015356 23.774227451349617 4.469008963723328 0 0 0 +542 1 3 11.020085118587248 20.9310055933292 3.839647018927434 0 0 0 +440 1 3 21.374167105558794 34.26435371041075 14.536391794561142 0 -1 0 +2930 3 -1.2 20.315149271202277 33.795801572281995 7.023556036119862 0 -1 0 +2533 3 -1.2 18.138507771551737 27.79368500012216 17.01074908440512 0 0 0 +743 2 0.6 9.901710338457892 24.249662471293416 7.790521907983473 0 0 0 +831 2 0.6 12.342310373561471 19.089215907921037 1.5625665289072062 0 0 0 +1794 3 -1.2 12.306490345931811 17.211201028664995 15.455883320317444 0 0 0 +916 2 0.6 11.397655317816191 17.731185490321423 7.556210099702508 0 0 0 +920 2 0.6 6.638805086862401 17.668820165361634 3.8311161051759473 0 0 0 +1073 2 0.6 8.508374255320101 25.705185701138934 0.10909533381826893 0 0 0 +1087 2 0.6 10.621785467552394 22.249791728021492 0.6255807084354177 0 0 0 +1671 3 -1.2 20.98459801088306 32.76689264753724 15.210134323234177 0 -1 0 +1198 2 0.6 13.183128855564021 22.66947924136199 2.151811769125979 0 0 0 +1209 3 -1.2 13.951598573279888 25.438280068834906 5.113850421087373 0 0 0 +1223 3 -1.2 12.34172930010753 24.472625517014514 1.0374817754117616 0 0 0 +1247 3 -1.2 10.253979431025671 18.135507789373357 2.75598966543311 0 0 0 +1354 3 -1.2 13.69174951614245 17.8055553730454 5.633450972301872 0 0 0 +1358 3 -1.2 9.872382400603195 24.42546539292017 3.5016609856005094 0 0 0 +1382 3 -1.2 13.881173113634665 23.23061772293398 6.118129919204706 0 0 0 +1532 3 -1.2 7.249358871832327 18.427541792048213 1.85546604094325 0 0 0 +1403 3 -1.2 8.672988349247658 17.659398811305028 4.5714869632724096 0 0 0 +1590 3 -1.2 15.03735497383843 20.29730850409022 3.54007294492344 0 0 0 +1594 3 -1.2 8.920665122126918 17.921092325307438 7.523426512074867 0 0 0 +1798 3 -1.2 13.003442089674895 34.06547093066063 14.557935447236657 0 -1 0 +157 1 3 29.374587858905514 18.53178820939016 6.2701422889364995 0 0 0 +993 2 0.6 26.76557826306027 33.97433884247754 9.887178345239025 0 -1 0 +1673 3 -1.2 7.928707276981379 23.163828081516886 6.174986744304285 0 0 0 +1738 3 -1.2 14.359677758520299 20.733530850078292 1.1978330378389441 0 0 0 +1752 3 -1.2 10.933946166742041 24.193493899197872 5.855854945054058 0 0 0 +1755 3 -1.2 12.348210230196157 26.64258236954779 6.6736275645481 0 0 0 +1123 2 0.6 24.713785699923026 18.70729804026147 1.1345456884516447 0 0 0 +1890 3 -1.2 12.887367808752089 17.81654439545068 3.2667361448823122 0 0 0 +1902 3 -1.2 12.423925748642247 23.764677000096476 4.07023794770872 0 0 0 +706 2 0.6 3.715972719159568 34.03727581690156 8.213899809528122 0 -1 0 +1969 3 -1.2 9.982115452673511 26.349390999693576 7.356758997808628 0 0 0 +2054 3 -1.2 6.011129634053131 21.356318607404564 2.634547952100551 0 0 0 +2301 3 -1.2 7.812302642348424 25.037182881776424 4.775313301264765 0 0 0 +2310 3 -1.2 12.312850828732337 20.709132230644602 4.491851405491486 0 0 0 +2405 3 -1.2 9.577387014666757 21.407469132734498 6.778833720715627 0 0 0 +2466 3 -1.2 8.478987026664209 21.356941392176054 2.467814130285359 0 0 0 +2561 3 -1.2 11.184291182501843 26.489040406623698 0.6730618605062775 0 0 0 +2581 3 -1.2 11.291468508851148 21.1624820894513 2.4052922931673804 0 0 0 +2663 3 -1.2 7.324962371673984 21.299389086096877 4.686799229361912 0 0 0 +2668 3 -1.2 10.437462682048254 22.311860291054636 4.339859080117164 0 0 0 +2733 3 -1.2 11.208018249022421 17.89096954669512 5.048334911980358 0 0 0 +2810 3 -1.2 8.120069143411936 24.898337304537886 8.866862916345356 0 0 0 +309 1 3 21.990738774681496 33.07753864561532 10.646117748058105 0 -1 0 +2850 3 -1.2 15.081133083883236 26.264393919106436 2.738799003359535 0 0 0 +1565 3 -1.2 18.015842866229093 34.01851302965548 10.616698810184632 0 -1 0 +2983 3 -1.2 8.075521846066561 25.49647412946338 2.1902934627081447 0 0 0 +2986 3 -1.2 7.45460849348025 23.365288270440676 3.145789601410794 0 0 0 +2988 3 -1.2 10.008265458479059 19.848170031847204 4.308782815140457 0 0 0 +62 1 3 17.833624784928908 25.095215876747123 5.825637527279273 0 0 0 +143 1 3 18.022378797127924 21.307607041349645 2.9830630175172725 0 0 0 +230 1 3 15.433037270194859 20.00660481767552 2.177711831752602 0 0 0 +302 1 3 13.879332662613892 23.893958212824163 4.739940166645455 0 0 0 +2469 3 -1.2 5.251276085591793 34.17697535614374 3.151857946745702 0 -1 0 +387 1 3 18.061440773010567 18.86349134423653 7.712369217796451 0 0 0 +694 2 0.6 9.097733119690345 19.54738366303834 1.6391636713684075 0 0 0 +544 1 3 19.125176519623665 33.22554622468227 11.139352148413899 0 -1 0 +617 2 0.6 19.34986399468545 24.19584618597004 2.987925616959452 0 0 0 +1968 3 -1.2 27.845257820246577 20.903609633374735 0.31264488388649525 0 0 0 +816 2 0.6 17.06481917963246 21.945747787986296 6.483319462284232 0 0 0 +1675 3 -1.2 14.193843826014751 34.19536482078976 11.30066983169121 0 -1 0 +1121 2 0.6 15.518622412733894 19.277297461019078 5.574201242299989 0 0 0 +1031 2 0.6 10.560292695387089 34.15026879090013 13.56219260850728 0 -1 0 +1204 3 -1.2 16.470642873784904 17.76899664945133 4.043395466666307 0 0 0 +1340 3 -1.2 14.836317247563153 23.439967330511827 3.7445674391665875 0 0 0 +1460 3 -1.2 18.66411679629485 26.4769002790938 6.0959404085241315 0 0 0 +1472 3 -1.2 16.449421458401787 25.178075206992727 6.29377797157165 0 0 0 +1597 3 -1.2 15.58550146424288 18.66686952846369 1.5668283786566934 0 0 0 +1607 3 -1.2 17.556672183517197 26.28384902907316 1.897857722341517 0 0 0 +1736 3 -1.2 17.717569914166138 25.328752933471748 4.228204598366689 0 0 0 +1839 3 -1.2 17.59226704447353 21.822917596841748 4.275249553893029 0 0 0 +2067 3 -1.2 14.668607436489319 27.31735554252132 7.118958016263398 0 0 0 +933 2 0.6 3.0151972703832164 17.50278272798995 0.7496927499460581 0 0 0 +2241 3 -1.2 16.86439290767682 20.718840388405543 2.0442281842020416 0 0 0 +2314 3 -1.2 16.99708343184236 18.081683015499706 7.068728754744933 0 0 0 +129 1 3 2.4881089767987765 22.298568246511877 0.14071110297426617 0 0 0 +2720 3 -1.2 14.792125878842635 21.040186392392453 6.717413926275205 0 0 0 +2744 3 -1.2 18.628041801246354 23.976513945002438 6.296026989868159 0 0 0 +2831 3 -1.2 18.708603728295582 22.32880088268952 2.1446340237277393 0 0 0 +2837 3 -1.2 18.806269862475986 18.79066246277609 5.147585019760858 0 0 0 +576 1 3 10.283279242372226 34.23581279771061 5.7154026664664475 0 -1 0 +9 1 3 22.38332174944044 20.329884191416753 5.960101614966748 0 0 0 +67 1 3 21.17220571639666 25.915362239700595 1.1677286084464493 0 0 0 +75 1 3 26.120124388065665 25.009223066315556 3.660251738779113 0 0 0 +220 1 3 20.965884564132985 18.09382819486888 7.221453670524445 0 0 0 +258 1 3 21.600265245729183 23.19575841324573 5.596482407267206 0 0 0 +423 1 3 25.202735586100964 20.210617577131195 6.980461348673109 0 0 0 +431 1 3 21.31525774014175 19.34618652779484 1.8871185023114319 0 0 0 +526 1 3 19.88213523371541 19.28204495333436 4.3075473526356 0 0 0 +572 1 3 26.161937853837482 22.81378455005801 5.823738430229779 0 0 0 +668 2 0.6 23.9106335270542 21.340481140995323 3.3195643862380533 0 0 0 +813 2 0.6 21.930171516418042 23.01373617662229 2.4121790706477113 0 0 0 +1029 2 0.6 26.33411481846835 23.762062854631946 0.1407754687942112 0 0 0 +1108 2 0.6 26.23181228396212 21.920553421668004 1.7015800841219997 0 0 0 +912 2 0.6 11.649017084476913 33.7880068549494 16.447666116244324 0 -1 0 +1189 2 0.6 20.086641655725735 22.692098636780305 0.2778866443462816 0 0 0 +1222 3 -1.2 25.618916893172756 21.343459089124025 5.777840229210922 0 0 0 +1359 3 -1.2 20.475665550387923 19.871463980264195 0.5653437663207472 0 0 0 +646 2 0.6 6.147434250706071 33.37697942328319 13.031675874305225 0 -1 0 +1508 3 -1.2 20.782552653841087 18.651880123651367 3.119505544499079 0 0 0 +1566 3 -1.2 25.22450078423019 23.60663465130012 6.811457168025918 0 0 0 +1650 3 -1.2 23.701519419381036 20.63723447495143 6.992153251676929 0 0 0 +1679 3 -1.2 25.19491435859274 18.744064767898166 7.02073049067916 0 0 0 +1779 3 -1.2 20.130302660515344 24.91521934100389 0.8811574909082687 0 0 0 +1811 3 -1.2 23.122285333584085 19.46876169328366 5.005373146773697 0 0 0 +1814 3 -1.2 21.130656978042826 22.91229246041266 7.104055490802355 0 0 0 +1836 3 -1.2 20.785001081501722 23.390397258944407 4.388594518275993 0 0 0 +1852 3 -1.2 22.15719222463666 18.78717752731258 0.709482849606982 0 0 0 +1458 3 -1.2 19.462977822848433 31.882442573480525 0.3160132283536436 0 0 0 +2221 3 -1.2 26.31908093706623 18.1190937073623 4.448507501942142 0 0 0 +2347 3 -1.2 24.637982196851173 25.67810057495353 3.912761386449262 0 0 0 +847 2 0.6 17.122217565445688 23.74136580403516 1.1509654244939103 0 0 0 +2492 3 -1.2 22.464669052901897 21.88959556651625 5.4261043704273115 0 0 0 +2521 3 -1.2 20.77063355527904 20.28270795851312 5.068033772411946 0 0 0 +244 1 3 14.193007818227054 33.194940357726225 14.434666045063278 0 -1 0 +2650 3 -1.2 25.418141505230984 20.188007817752847 2.4553644395404732 0 0 0 +2683 3 -1.2 22.465078586306507 24.38155254552417 5.831021453567009 0 0 0 +2785 3 -1.2 1.765639731769691 33.56450072488384 14.183360877496689 0 -1 0 +2902 3 -1.2 21.86781739188567 20.6386158443169 2.3584139482446598 0 0 0 +2948 3 -1.2 22.496443301432567 25.324685063364626 1.3509018477549644 0 0 0 +2952 3 -1.2 19.053082034416114 20.1332853021764 3.1715590643504736 0 0 0 +83 1 3 27.6223365178546 18.250885501234617 3.8223017561292343 0 0 0 +177 1 3 29.190714822628447 25.862939471939665 3.3455504049727915 0 0 0 +2669 3 -1.2 33.249535449116046 32.8228332291927 14.685853917756216 -1 -1 0 +518 1 3 28.824140401585897 26.523550917283735 6.260929931006794 0 0 0 +685 2 0.6 29.58826117864143 23.062334303788877 2.3080961330491125 0 0 0 +714 2 0.6 31.99138970284488 20.777538996697174 5.048617725574444 0 0 0 +914 2 0.6 30.055249795404283 22.02317719056327 6.903865386115479 0 0 0 +1062 2 0.6 31.555800568145543 24.662041251397554 1.0237718157924345 0 0 0 +1091 2 0.6 28.742217956124147 21.61019748381839 4.446130279012953 0 0 0 +1178 2 0.6 30.555485338245667 20.181668783179195 3.186886147213997 0 0 0 +1242 3 -1.2 28.285520258300192 24.647646814531573 3.4330503033320445 0 0 0 +1279 3 -1.2 27.57664363652918 22.722664248519592 6.211244450641499 0 0 0 +1371 3 -1.2 29.83784453782084 19.807759205795037 5.6420781388339725 0 0 0 +1386 3 -1.2 31.947046087491387 24.866118153823702 8.270160335947539 0 0 0 +882 2 0.6 0.2215445801188871 19.47128982556612 0.5115701740519237 0 0 0 +1577 3 -1.2 30.35614971816901 18.130935634324093 1.910896888665999 0 0 0 +1795 3 -1.2 33.14232831502098 18.358121227572568 8.27456488191261 -1 0 0 +1734 3 -1.2 30.443525142970167 25.35167651362615 2.691091093394921 0 0 0 +1769 3 -1.2 28.13177089688301 17.288252782690297 2.63315210704639 0 0 0 +1926 3 -1.2 27.73273955404223 25.601925752459923 6.641966183464423 0 0 0 +1939 3 -1.2 30.43550513835004 17.56575549225396 6.61073256002416 0 0 0 +997 2 0.6 2.4813845030503052 33.02990132314969 9.37459048083841 0 -1 0 +2013 3 -1.2 28.450045993561776 18.85282391800747 7.496108661675112 0 0 0 +2028 3 -1.2 28.18576595127203 19.523478119768466 3.2842931545511282 0 0 0 +977 2 0.6 33.33010857126889 32.659864809836236 9.901161265815896 -1 -1 0 +2349 3 -1.2 26.10003424387711 24.7946028560895 2.1744536431393433 0 0 0 +2384 3 -1.2 28.452825954940145 18.36795776213157 0.3420842909240838 0 0 0 +2577 3 -1.2 26.006495693004485 23.59019048288949 4.4481961714671625 0 0 0 +2778 3 -1.2 28.5933989819049 17.844202984343788 5.042183192990173 0 0 0 +802 2 0.6 16.19023898144717 33.870083670042625 1.53980113187565 0 0 0 +2851 3 -1.2 26.2439942760059 20.707926023058963 7.924108343978106 0 0 0 +2893 3 -1.2 30.797673285476833 22.26119448806553 3.873539389798047 0 0 0 +37 1 3 2.4576416935600154 28.587329885549842 2.016881419657734 0 0 0 +96 1 3 0.08515725309801837 30.122638895331153 5.918197395601023 0 0 0 +207 1 3 2.9794177038813383 27.837886163492854 4.817801054308589 0 0 0 +254 1 3 33.38530778015186 28.660203093574722 8.366342073267226 -1 0 0 +402 1 3 2.9984936954221952 30.235950874032152 6.559839975540426 0 0 0 +472 1 3 34.30439481630605 25.39346173705183 2.0191595545840393 -1 0 0 +237 1 3 29.942516741875878 33.555431370676416 3.424573211612429 0 -1 0 +877 2 0.6 22.288767332774885 32.79769196997069 6.921041567299759 0 -1 0 +742 2 0.6 34.03490711015991 27.15710222791175 4.866098440981697 -1 0 0 +812 2 0.6 34.25893583088749 30.69586025003616 0.7991922628053829 -1 0 0 +1908 3 -1.2 23.781291800607864 22.597833454992617 1.164443444597765 0 0 0 +1152 2 0.6 1.0679977704900003 32.96794487688402 5.32694311818364 0 0 0 +1158 2 0.6 33.85805413061329 33.04131606049532 7.281797127489103 -1 0 0 +1183 2 0.6 33.74976910414303 31.346552305984783 3.111993225070038 -1 0 0 +1249 3 -1.2 4.500806001538905 27.560223443247413 4.608221926936781 0 0 0 +1278 3 -1.2 3.148066237517142 27.64831170661339 0.9166678410154129 0 0 0 +1504 3 -1.2 3.478934736220459 29.649653618877455 2.1700661376762764 0 0 0 +1559 3 -1.2 0.24390455148938897 29.541015164664362 4.557794506233271 0 0 0 +1369 3 -1.2 0.9377329112605206 18.737402020759422 17.08342984733646 0 0 0 +1691 3 -1.2 4.499208640977038 27.446478222865434 7.288536595644709 0 0 0 +673 2 0.6 5.426564074202171 30.88657127096908 1.9233601389312187 0 0 0 +1774 3 -1.2 3.8459563885597228 32.4918689347626 2.116429799564209 0 0 0 +1851 3 -1.2 1.9544277965015053 27.493604558350384 5.797794454163079 0 0 0 +1863 3 -1.2 3.1544272708318815 29.406512330295527 5.231007446408406 0 0 0 +1909 3 -1.2 4.022199688240552 31.400042386921395 6.574831242054772 0 0 0 +2971 3 -1.2 16.197632558919096 17.22041470067238 13.362850462907044 0 0 0 +2138 3 -1.2 2.403449412473143 27.7807081467153 3.3509672632678424 0 0 0 +2227 3 -1.2 33.57435718323204 31.329188832079502 5.812133972909283 -1 0 0 +2386 3 -1.2 1.5040358463499388 30.64614622973543 6.387882670735897 0 0 0 +2426 3 -1.2 1.155150800001662 28.90067677493561 1.4099895153761026 0 0 0 +2478 3 -1.2 5.684161044006066 29.46659391983706 5.772547252221167 0 0 0 +2553 3 -1.2 1.395504999117023 31.721092228243954 2.036277888449941 0 0 0 +2575 3 -1.2 5.111558442978478 31.98284369016774 4.407450078791144 0 0 0 +2640 3 -1.2 33.80872071000319 29.035947136012435 6.848896993807441 -1 0 0 +2690 3 -1.2 3.127704569936319 29.343660865519592 7.788517506986566 0 0 0 +2945 3 -1.2 1.6583682974904563 33.80192867497639 7.266798962474733 0 0 0 +13 1 3 11.096066005349735 27.30104072799263 7.417954646565474 0 0 0 +40 1 3 10.34839537211873 31.91824800139006 1.4787749754511426 0 0 0 +51 1 3 5.3991855599090135 32.057224676304976 6.014702056956468 0 0 0 +710 2 0.6 24.528166312898446 33.98329777324883 8.454513230845384 0 -1 0 +77 1 3 10.138372913071047 28.544619403514442 3.5120972996754722 0 0 0 +146 1 3 13.74633715328595 26.697704769520463 6.05249846801285 0 0 0 +185 1 3 14.272837705707722 27.358063468336113 3.3279615357054446 0 0 0 +227 1 3 8.034790508276084 31.593192071639475 8.855246253985161 0 0 0 +271 1 3 7.336630061014237 28.717112949149687 2.3032079703841837 0 0 0 +308 1 3 9.617290031101355 31.511560845681146 4.407670731512138 0 0 0 +390 1 3 12.046597380941325 27.480551104693415 1.5221259540776473 0 0 0 +397 1 3 5.861124486458819 28.32484635469699 4.834265020215776 0 0 0 +350 1 3 22.434732198652753 33.57011693885315 2.233547079891972 0 -1 0 +495 1 3 12.14840376797835 30.47542371195241 5.516239198214351 0 0 0 +506 1 3 14.02541897825082 32.21508986921673 3.9046840349692684 0 0 0 +822 2 0.6 7.389448070232741 31.7318323620767 0.32006310955271267 0 0 0 +876 2 0.6 6.576330928737912 29.08421630684139 7.747822803288795 0 0 0 +908 2 0.6 8.6076052381846 28.18184580016514 6.498414038981655 0 0 0 +1224 3 -1.2 8.752226047863912 28.207027479570808 2.5879058249691353 0 0 0 +1227 3 -1.2 14.54444145279013 28.725579814318255 2.6537480007775818 0 0 0 +1230 3 -1.2 10.688869065449706 31.15631257817214 5.567719808959551 0 0 0 +1235 3 -1.2 6.674767422383458 31.773197796148963 6.742673419842675 0 0 0 +1368 3 -1.2 13.930143677020133 27.639346528281006 4.829069724768938 0 0 0 +166 1 3 26.896936088961233 33.900470411140724 0.04773133843296157 0 -1 0 +1510 3 -1.2 6.228268207180499 28.827730079046326 3.3756817095527802 0 0 0 +1545 3 -1.2 6.722343864240926 27.833383839122973 1.1383419693705445 0 0 0 +1621 3 -1.2 7.057545719021941 27.549474906119464 5.147745390878802 0 0 0 +2621 3 -1.2 18.754553405097447 34.17162698043043 5.224174256438757 0 -1 0 +2438 3 -1.2 15.139964829461878 33.121521528538075 4.291483721017419 0 -1 0 +1709 3 -1.2 8.16074452913676 31.696998960189752 4.315664519575879 0 0 0 +2046 3 -1.2 21.012071662348276 17.794698160918387 5.765116023953728 0 0 0 +1809 3 -1.2 7.3934655622185605 30.020543100952334 1.6396568892928691 0 0 0 +1881 3 -1.2 10.371417294197162 31.390295476641718 2.9423940955376855 0 0 0 +1609 3 -1.2 17.922478683076843 33.497779263221815 7.525537783473412 0 -1 0 +1885 3 -1.2 13.002985352827675 31.763114896036093 5.034827202436288 0 0 0 +1501 3 -1.2 18.442789231836795 33.38797305446711 1.9889740833631167 0 -1 0 +2082 3 -1.2 11.629673050142209 32.06418469963643 0.7244430570380471 0 0 0 +2092 3 -1.2 9.709987773330637 33.35066462129923 1.639808071020712 0 0 0 +2198 3 -1.2 10.417152566153117 27.281839934093426 4.207878666248615 0 0 0 +2261 3 -1.2 12.803435895614433 26.9591910248607 2.774751489964722 0 0 0 +2290 3 -1.2 12.849140801465776 29.923932395088936 6.678727824317214 0 0 0 +2372 3 -1.2 15.121942129338791 30.98308932531081 1.0474013373064015 0 0 0 +2602 3 -1.2 11.926939503922505 29.53944438208216 4.349618528042914 0 0 0 +2681 3 -1.2 11.068254289462462 28.525855445818053 2.1445898654527387 0 0 0 +2682 3 -1.2 9.411680034271672 29.655576359162605 4.253004615827798 0 0 0 +1214 3 -1.2 15.474710147277756 33.1980461150073 7.262183524815294 0 -1 0 +2853 3 -1.2 10.689288792374647 28.620722658073838 6.93300373330027 0 0 0 +2857 3 -1.2 6.855838895938178 32.91568561608463 2.0770970590598923 0 0 0 +353 1 3 19.63568880012566 33.233983416948675 1.1460565437370587 0 -1 0 +219 1 3 15.579858079756038 29.93892236817613 2.2631646590619496 0 0 0 +231 1 3 19.96720331246162 28.079180628726707 2.8003704867552006 0 0 0 +267 1 3 18.613454612854902 27.83741670710806 6.8393479759594475 0 0 0 +301 1 3 20.61274073586692 29.332046506361273 5.4199223159730865 0 0 0 +319 1 3 15.660796690407995 28.513280054498054 7.415450296095331 0 0 0 +417 1 3 16.840627423427506 32.346759429879825 7.28901814825822 0 0 0 +556 1 3 17.398839522605446 26.60312686149947 3.3369493251638596 0 0 0 +665 2 0.6 17.12871762291724 29.94353794530891 4.919654021268482 0 0 0 +708 2 0.6 18.10178703885918 30.262884066998932 1.0658127637269503 0 0 0 +1372 3 -1.2 13.222896196058139 32.99280100628113 2.915557088191149 0 -1 0 +2436 3 -1.2 32.9294118845545 32.34079558247237 17.116785910118843 -1 0 0 +363 1 3 6.80082526643073 34.252553946579354 2.734555907483354 0 -1 0 +859 2 0.6 17.4365040626301 32.59731356554975 3.9072572397049874 0 0 0 +57 1 3 16.792572480209998 27.15297165465314 16.876971455634312 0 0 0 +1315 3 -1.2 14.556630277491584 30.8790645546838 3.4057470966920156 0 0 0 +1321 3 -1.2 17.304867112329333 31.8192040562699 5.991761576731573 0 0 0 +1399 3 -1.2 18.72156179705532 27.530235961563413 3.550068158091458 0 0 0 +407 1 3 4.299844359349198 33.01496010506185 3.5341187649595436 0 -1 0 +1493 3 -1.2 16.45876584441525 27.47821167657932 4.1227028570669315 0 0 0 +1803 3 -1.2 16.843456264378652 30.46184577767362 2.9088506351888586 0 0 0 +2134 3 -1.2 16.30931958029147 29.022210012002574 1.1938664281520015 0 0 0 +2355 3 -1.2 19.108034761631078 28.984539114937444 5.933651183858886 0 0 0 +2461 3 -1.2 15.629398634308448 29.537598590374227 6.392779962869467 0 0 0 +92 1 3 24.13784808547917 27.08526980358906 4.410611727628751 0 0 0 +181 1 3 25.779143863613783 29.023224424057123 2.7854845544859503 0 0 0 +283 1 3 26.62501411974542 32.274755373278 6.389575501367854 0 0 0 +783 2 0.6 9.8673370552313 28.84555221514449 0.20178423382755373 0 0 1 +663 2 0.6 23.89927111972361 30.54737378274873 5.049123571233144 0 0 0 +680 2 0.6 20.6254668589534 32.710325641711215 4.798780619007041 0 0 0 +932 2 0.6 26.64406723431371 31.80263214006293 2.8939543480696543 0 0 0 +952 2 0.6 23.603889660593396 27.21611435370656 8.086848022430345 0 0 0 +2849 3 -1.2 5.159822152484734 33.53564690224564 6.079804742381208 0 -1 0 +1009 2 0.6 22.048274601421863 26.35620002957 6.9009271765548545 0 0 0 +1046 2 0.6 24.49214369482718 26.16488165472564 1.2623057103889574 0 0 0 +1142 2 0.6 26.162616105762876 28.109345062523204 7.234674836381518 0 0 0 +1212 3 -1.2 20.52200469081284 29.09706188182625 3.8345954170144787 0 0 0 +1485 3 -1.2 24.137650269382483 27.12525569397124 5.8865296585578974 0 0 0 +1526 3 -1.2 19.575980495187487 28.754615766290268 1.5557409608099813 0 0 0 +1610 3 -1.2 22.947056602399616 27.402904353535853 3.5846117937869604 0 0 0 +59 1 3 10.604185035500848 33.084828664900286 8.41743713198535 0 -1 0 +1699 3 -1.2 19.80521489037572 30.526485851608825 8.334530546403885 0 0 0 +2870 3 -1.2 20.96308037144482 33.03687174872061 1.984047524444236 0 -1 0 +2243 3 -1.2 2.976368458997996 33.12527947189332 4.186928785092021 0 -1 0 +2141 3 -1.2 21.20080806765662 30.66522199563813 5.606860466078896 0 0 0 +2565 3 -1.2 10.79689452380848 34.216319919809045 9.313436298901943 0 -1 0 +611 2 0.6 26.324244668581745 30.42168540101249 0.1978005507837586 0 0 0 +2563 3 -1.2 21.273436496140675 28.1637291090727 6.012053781089484 0 0 0 +2741 3 -1.2 23.47496153396965 32.90014793204543 1.1926079374169452 0 0 0 +2772 3 -1.2 25.983458232279467 32.03143024667309 5.071218641185134 0 0 0 +2882 3 -1.2 25.0259254678235 28.3797642741743 4.007267459427122 0 0 0 +2943 3 -1.2 20.664173453234877 26.752262919198238 2.3947585247161594 0 0 0 +189 1 3 29.232637154099017 31.177694460446425 7.403491901156483 0 0 0 +205 1 3 30.098444009829887 31.78949319821279 1.036742183551995 0 0 0 +766 2 0.6 28.13327269572489 28.480197015963277 0.7885278415236259 0 0 0 +828 2 0.6 31.620089012607338 30.948886591807646 4.9788575960129675 0 0 0 +853 2 0.6 29.17285380826269 29.34971485428244 3.7990754031485756 0 0 0 +483 1 3 6.1323738129901 18.163890855228363 0.9484457369054923 0 0 0 +1287 3 -1.2 30.177363608294197 32.32666597501825 4.19839621691354 0 0 0 +1270 3 -1.2 33.52244855060315 33.56639363177557 3.2504006253462125 -1 -1 0 +1658 3 -1.2 25.90544548313775 28.01340424107205 1.6828531671571514 0 0 0 +1689 3 -1.2 27.800846247575752 31.26591117844008 6.691313574600017 0 0 0 +1728 3 -1.2 30.041375441573578 25.989030646523375 7.164993647292175 0 0 0 +1805 3 -1.2 26.954933633651283 32.60403293232569 0.7178366224487485 0 0 0 +1911 3 -1.2 31.49826871507294 31.421628562111458 1.4203211716488002 0 0 0 +1936 3 -1.2 29.211353064509897 30.61159510968332 1.1977109725070743 0 0 0 +1961 3 -1.2 29.462286784021785 26.390473343632102 4.826300526998384 0 0 0 +2122 3 -1.2 29.668662455329173 33.049594057519336 1.9622619522494296 0 0 0 +2139 3 -1.2 26.765062510874813 26.23368181747588 4.240384076589654 0 0 0 +2186 3 -1.2 28.81120361490502 27.069463887621314 2.544063280636243 0 0 0 +2258 3 -1.2 29.39702949602895 32.75595265032692 7.621059105496488 0 0 0 +2434 3 -1.2 30.214582891160457 30.55870590341734 6.537112088972969 0 0 0 +1192 2 0.6 17.987853466836242 18.803882450717335 0.9615701316029672 0 0 0 +2781 3 -1.2 25.00850488208048 30.199249705407727 2.2487446993197557 0 0 0 +2860 3 -1.2 28.49129602744802 27.92032384498955 6.60367841369948 0 0 0 +2969 3 -1.2 27.082050023026838 29.5585228837867 3.2766662817913317 0 0 0 +150 1 3 2.0186654171512304 24.41521727975935 15.170727754583455 0 0 0 +153 1 3 4.038163023009941 23.24299741096793 11.570292011261287 0 0 0 +226 1 3 34.19359412438972 25.781450756126194 16.69634925097033 -1 0 0 +400 1 3 5.204158362478479 21.42255588593193 14.89864715133319 0 0 0 +413 1 3 1.225473887821399 22.993567044925264 12.700723636502442 0 0 0 +415 1 3 33.22588336980432 25.69802928042882 7.775819897175921 -1 0 0 +530 1 3 4.032483006952495 20.986223611893795 8.664346493013445 0 0 0 +540 1 3 0.01814959894524307 19.158642709152886 8.578374986717986 0 0 0 +574 1 3 5.574579541384823 20.672088903428122 11.216942244157135 0 0 0 +581 1 3 6.052625967572951 24.03121977084802 13.71697633243751 0 0 0 +675 2 0.6 3.056317089142878 19.761431069522654 12.87415540178645 0 0 0 +797 2 0.6 3.4948351052412345 17.773387243122457 10.257890222118066 0 0 0 +837 2 0.6 4.665541379781225 25.866000455205686 16.040311776463582 0 0 0 +839 2 0.6 1.540993466764139 25.661872222682348 10.029245571190316 0 0 0 +848 2 0.6 32.36361259778244 26.379633144022343 12.16357147531322 -1 0 0 +926 2 0.6 0.8328146595783317 22.464484986149404 9.544064384791307 0 0 0 +981 2 0.6 0.7743249555771244 20.389629143122033 14.99084633486614 0 0 0 +1002 2 0.6 3.897240995381803 18.56445349068994 15.450855865827556 0 0 0 +1038 2 0.6 33.61560871618256 19.55763986931213 11.742241111534364 -1 0 0 +1047 2 0.6 33.39876513344457 18.623115363419394 15.810538552467392 -1 0 0 +1186 2 0.6 3.8871024736325284 25.001141762125634 8.390416977718484 0 0 0 +1211 3 -1.2 2.383570221808476 23.333161804860094 16.083266328049188 0 0 0 +1300 3 -1.2 2.1472735621235657 17.967555085223704 14.166091960980456 0 0 0 +1325 3 -1.2 0.24579617843664417 23.28219867721964 11.652355548431336 0 0 0 +2822 3 -1.2 20.198712622669863 17.434073563125708 10.60620653784113 0 0 0 +1512 3 -1.2 2.67114409211708 23.526146950244364 12.264588507210414 0 0 0 +1568 3 -1.2 3.84505254458674 19.69562919566003 7.938914185391893 0 0 0 +1571 3 -1.2 1.1681690911595783 25.479686262594083 15.964909656143538 0 0 0 +1655 3 -1.2 4.458765035392586 21.781037972975206 11.772346696879739 0 0 0 +2202 3 -1.2 11.007452055681556 33.48351728360234 6.953996598397097 0 -1 0 +1862 3 -1.2 1.06084919837497 23.855116254411445 14.03734716318042 0 0 0 +1941 3 -1.2 1.3131017871056614 21.57316992008834 13.061954442222905 0 0 0 +2052 3 -1.2 5.263432500276588 20.795354882085256 9.657553331053622 0 0 0 +2083 3 -1.2 0.10086130234398252 25.192143001350487 8.41158795909712 0 0 0 +2136 3 -1.2 33.3896823141791 24.55807209160174 16.68578428149882 -1 0 0 +2218 3 -1.2 1.2885636697079965 18.38663086122997 11.924535079498014 0 0 0 +2710 3 -1.2 29.71568037852819 33.619923621266096 16.664359324656882 0 -1 0 +2527 3 -1.2 3.807362892433879 20.963760146747298 14.815941097041943 0 0 0 +2532 3 -1.2 5.87236016582431 21.137294718566416 16.287603097789102 0 0 0 +2535 3 -1.2 2.8656802496173936 21.247660983556468 9.56761307901548 0 0 0 +2576 3 -1.2 1.1262827078256161 18.23789774413873 8.935275095386249 0 0 0 +2601 3 -1.2 34.06198187225639 20.29509660076477 9.503698448984785 -1 0 0 +2647 3 -1.2 33.058745908583624 20.73992822576984 16.131547454593196 -1 0 0 +2792 3 -1.2 5.2002516192866635 23.03016551772582 14.61164264792913 0 0 0 +2886 3 -1.2 4.932833841971598 19.394688466572447 11.56083126670176 0 0 0 +2913 3 -1.2 31.897416739036625 17.959760409580017 11.320429065470696 -1 0 0 +2941 3 -1.2 34.09478686405407 18.14148483549178 13.808107534537815 -1 0 0 +2996 3 -1.2 3.1669078230397454 25.13587278112606 14.580655170925898 0 0 0 +15 1 3 13.560585390717792 24.84256907861524 14.720580873113915 0 0 0 +156 1 3 12.610763656472772 21.939075466436627 15.141013039588497 0 0 0 +268 1 3 14.530605203548873 21.08674571671296 13.069822923019595 0 0 0 +317 1 3 13.009138079498664 20.011381883958364 10.651662946161366 0 0 0 +364 1 3 11.386150280640155 24.796156863093234 12.590102489879268 0 0 0 +424 1 3 14.622417474311492 23.525608009141465 9.382041754167401 0 0 0 +479 1 3 9.905961441856949 19.414806627742294 14.22363763843653 0 0 0 +510 1 3 13.844483391905317 17.604221301726046 12.040826245089724 0 0 0 +691 2 0.6 9.374487955200012 20.772836383127125 10.945835351280168 0 0 0 +740 2 0.6 11.73099177825919 23.41513419594144 10.212344891416462 0 0 0 +767 2 0.6 14.147502245147143 25.45417222805562 11.378843718757569 0 0 0 +785 2 0.6 9.556030910907934 18.582813372645486 10.65505908648185 0 0 0 +801 2 0.6 10.606277608334317 24.39169316420927 16.222460406885986 0 0 0 +889 2 0.6 6.935802879312055 23.662670531723233 10.483347855507015 0 0 0 +922 2 0.6 8.818877051080392 22.929029633053535 9.943581387090402 0 0 0 +978 2 0.6 9.566280688814382 26.06903722718661 10.190583469074756 0 0 0 +1019 2 0.6 9.207781744538137 22.71290135910659 14.559233598465976 0 0 0 +1086 2 0.6 9.041621671333504 22.338936129560764 12.516222497744804 0 0 0 +1268 3 -1.2 4.412293011145404 22.099915142205653 7.751275338012647 0 0 0 +1277 3 -1.2 6.033089841057571 20.897383137392985 13.812812244951214 0 0 0 +1296 3 -1.2 13.393994694560684 21.22842539800248 16.200333231768887 0 0 0 +1327 3 -1.2 10.051077987501515 20.423842015302032 13.137344152335006 0 0 0 +1350 3 -1.2 5.279959800957119 17.784432488885592 13.946139180279136 0 0 0 +1394 3 -1.2 8.47738500281742 19.081558904963167 14.406081957876136 0 0 0 +1466 3 -1.2 5.209478868380173 23.949409939867834 12.323212628821258 0 0 0 +1697 3 -1.2 7.228452420364287 18.023619115563537 10.678826324597225 0 0 0 +1719 3 -1.2 14.243809534938128 24.890111082319745 8.880444944275862 0 0 0 +1735 3 -1.2 6.565896569772386 18.092926308951363 7.951742076459127 0 0 0 +1790 3 -1.2 11.220316282981587 22.37228976446005 15.118342607209534 0 0 0 +1792 3 -1.2 6.171377681565011 25.509436796847847 13.776819913486833 0 0 0 +1815 3 -1.2 10.488875046727452 18.04460125106999 13.631642885281249 0 0 0 +1828 3 -1.2 13.32304130159666 23.405992506947246 15.257366166898523 0 0 0 +1861 3 -1.2 8.20425319763121 21.552721324366214 16.056638487579686 0 0 0 +1866 3 -1.2 6.851133091230826 24.547535235735864 16.215323985386426 0 0 0 +2811 3 -1.2 22.765502448159285 33.2772337699081 3.636900816217262 0 -1 0 +488 1 3 30.309041570283235 34.06237486033504 7.525851704607923 0 -1 0 +1918 3 -1.2 14.29474663240655 18.397367881804428 13.259718436701084 0 0 0 +1923 3 -1.2 7.1066897124788735 19.177735525315658 16.8173435939257 0 0 0 +2099 3 -1.2 11.7282791291133 20.709644940746546 10.668387172229629 0 0 0 +2119 3 -1.2 7.500906717998897 22.160965133424398 8.146809788418116 0 0 0 +2149 3 -1.2 11.627172082599472 25.522030588533287 11.30626799175434 0 0 0 +2190 3 -1.2 15.180458085897477 22.379907607254772 13.335393156592005 0 0 0 +2192 3 -1.2 12.829397369159762 18.546961345965016 11.319970853700056 0 0 0 +2255 3 -1.2 10.639284764067076 19.664173650201963 15.48665391132168 0 0 0 +2274 3 -1.2 12.954247754885479 25.044056108612445 13.352214168966007 0 0 0 +2285 3 -1.2 8.479285506072895 19.744422608282058 9.04687757415906 0 0 0 +2338 3 -1.2 10.593875204970063 22.348841393800704 8.685137404694263 0 0 0 +2361 3 -1.2 13.111560592161798 25.835213750323362 15.729779314769644 0 0 0 +2379 3 -1.2 14.103827503411019 20.579035582770096 11.669773089308169 0 0 0 +2839 3 -1.2 14.985309609622437 17.513725587871853 10.988560755421421 0 0 0 +2475 3 -1.2 11.427961122279221 23.32775134890117 12.519352371082812 0 0 0 +2538 3 -1.2 6.895580519096005 21.35147747490986 11.307462451459791 0 0 0 +2555 3 -1.2 3.9677747915184236 23.706231935533026 10.192193875899497 0 0 0 +2559 3 -1.2 7.384986977380932 23.422850242498978 13.577531975375907 0 0 0 +2635 3 -1.2 13.173563734999096 21.188283619791896 13.86051570479948 0 0 0 +2646 3 -1.2 7.591511545170519 20.107710079660432 6.911173667422263 0 0 0 +2704 3 -1.2 9.202668971964528 24.440232510292 11.571157503594588 0 0 0 +2707 3 -1.2 12.152938847602876 21.64960554989462 6.889915500833477 0 0 0 +2714 3 -1.2 13.628323707438016 19.811517373190533 9.336551401023097 0 0 0 +2737 3 -1.2 5.981815693253238 25.797974849853006 9.515322950220707 0 0 0 +2832 3 -1.2 11.047155292632421 19.842555530888472 8.039093965891661 0 0 0 +2843 3 -1.2 13.934808537429596 23.270215854937884 10.68076250761867 0 0 0 +2865 3 -1.2 10.642498065122664 25.396593910943647 13.740546865787183 0 0 0 +2888 3 -1.2 15.41327316949871 18.163834200669175 15.551504545974202 0 0 0 +84 1 3 18.03629214521448 19.220692814838653 15.956938258241642 0 0 0 +148 1 3 17.912369877254218 19.61582729650581 10.577042368572153 0 0 0 +217 1 3 15.814872763003283 18.494990395709703 14.052384004068141 0 0 0 +414 1 3 16.041012312877456 17.32209898007112 16.806762062957443 0 0 0 +564 1 3 17.50696953717914 24.308681919855555 11.97562114376629 0 0 0 +605 2 0.6 15.661142840721201 22.11968282670964 16.050686281350604 0 0 0 +787 2 0.6 18.10949823662102 22.398081844221196 9.13669273141473 0 0 0 +1093 2 0.6 17.652642279773602 21.686276716211186 13.646667559956617 0 0 0 +1250 3 -1.2 17.121685096980844 27.913590843248027 7.342674837692555 0 0 0 +1251 3 -1.2 17.342867435001395 24.592613278511557 13.58196527377536 0 0 0 +1276 3 -1.2 16.13080705371667 24.58221556420234 11.546731031837918 0 0 0 +1486 3 -1.2 17.469295754571945 18.87505570361723 14.552791417821044 0 0 0 +1569 3 -1.2 15.990282386774163 23.06741132510045 9.035564023727112 0 0 0 +1739 3 -1.2 18.251894940242277 20.30950183061247 7.470277511015246 0 0 0 +1894 3 -1.2 17.61338006919593 18.82934646677438 9.270064777955575 0 0 0 +1904 3 -1.2 19.4971089043527 18.145701771273004 7.780154612131346 0 0 0 +2004 3 -1.2 13.717642397743214 22.524253897332315 8.448423209256463 0 0 0 +2191 3 -1.2 15.571770463934216 20.10639353335508 13.784458042072645 0 0 0 +2237 3 -1.2 17.600318089763302 23.17832735839501 15.876752955840852 0 0 0 +2270 3 -1.2 19.468534728799906 19.45358884358574 16.14952773812526 0 0 0 +2393 3 -1.2 19.142069290272637 20.390485082569022 10.27156082704347 0 0 0 +2427 3 -1.2 18.561957762790847 25.320613094655556 11.646029798818176 0 0 0 +2536 3 -1.2 15.122712753460242 24.911843763208363 14.711959981497381 0 0 0 +2630 3 -1.2 18.356900532403227 18.571069034973807 11.687687180993457 0 0 0 +2782 3 -1.2 16.73602452932841 20.335871715630876 11.056406312103894 0 0 0 +2803 3 -1.2 19.42079897698736 26.358535299655916 14.232921207308495 0 0 0 +2823 3 -1.2 19.940718376934235 20.620519848685078 13.58374502528395 0 0 0 +2833 3 -1.2 18.02848261268218 22.947462543207628 11.728768912529047 0 0 0 +2872 3 -1.2 19.659943752735145 24.56088446484083 15.962539361350938 0 0 0 +454 1 3 18.988134096104925 34.32432193857271 6.690021320301295 0 -1 0 +2960 3 -1.2 18.25461962824466 25.959418165132586 9.098023945606164 0 0 0 +2993 3 -1.2 17.182473064009727 20.359542721738713 16.427401594995757 0 0 0 +78 1 3 18.71845281841068 23.594608145483452 16.714830504803995 0 0 0 +134 1 3 21.085295580635115 19.723372341110675 13.191326025712 0 0 0 +183 1 3 25.21652580950962 21.606442736739545 13.56047415151243 0 0 0 +187 1 3 24.633815418895885 23.802620425168275 8.280409321415068 0 0 0 +330 1 3 20.243403870919945 25.152410895930853 14.570996381805735 0 0 0 +333 1 3 24.373032723989134 19.663028760126934 11.0769977430999 0 0 0 +396 1 3 21.648768024390755 23.48671284272401 8.470126474295613 0 0 0 +509 1 3 24.21975366887572 21.078078391900956 16.373673512738446 0 0 0 +650 2 0.6 22.51271148355087 22.38449013349451 11.834140941866748 0 0 0 +2642 3 -1.2 19.888235781835 34.2894762102349 0.15346151327244983 0 -1 0 +702 2 0.6 21.691428370840764 19.14975996042305 16.504672133464975 0 0 0 +751 2 0.6 20.82040094326763 21.58658789964644 15.390182804989006 0 0 0 +927 2 0.6 19.982924866411594 22.078415047772285 11.619760905217557 0 0 0 +928 2 0.6 26.07046475026327 23.7406096634549 11.19166939578585 0 0 0 +1013 2 0.6 20.53212041077643 24.951717170453865 10.813060627293368 0 0 0 +1122 2 0.6 21.447005331231285 20.251816590388827 9.635039120083984 0 0 0 +1171 2 0.6 23.151898139483315 24.13614440971375 15.149398034455727 0 0 0 +1228 3 -1.2 23.929422716853317 20.38132281360781 9.873823244457565 0 0 0 +1355 3 -1.2 20.48444462764549 18.291841368193058 12.910865615373439 0 0 0 +1374 3 -1.2 26.31000119509168 22.936053719486534 13.627431782932582 0 0 0 +1378 3 -1.2 22.843904728418828 21.562477410318426 16.132328942909314 0 0 0 +1389 3 -1.2 21.60363798063101 20.28614080308455 11.905720420782007 0 0 0 +1456 3 -1.2 25.943074905149146 17.700466104588706 16.833326144396953 0 0 0 +1462 3 -1.2 24.354493170928734 19.619950111705567 16.99193805194609 0 0 0 +1464 3 -1.2 20.357787321107416 23.972123907343928 13.67987531255461 0 0 0 +1527 3 -1.2 21.159713347356096 22.842065928063406 9.710803518590799 0 0 0 +1628 3 -1.2 25.353573191460843 24.60522172633896 15.314470063755348 0 0 0 +1639 3 -1.2 24.362165605213022 20.695341897169794 12.29150141727492 0 0 0 +1922 3 -1.2 25.92204580590483 18.288926931509014 13.30940382161901 0 0 0 +2095 3 -1.2 21.425805634291272 24.943537566264443 8.564667305250387 0 0 0 +2100 3 -1.2 21.569789944787455 19.587493656723762 7.165500238465667 0 0 0 +757 2 0.6 24.644387572343742 33.917867803011774 4.668370733217359 0 -1 0 +2236 3 -1.2 25.020639833160345 20.962120205715603 15.007245486494753 0 0 0 +2583 3 -1.2 25.688202575041732 25.139456632959412 12.875179142739327 0 0 0 +2724 3 -1.2 23.70364972162812 18.351824651209416 11.251966770175406 0 0 0 +2746 3 -1.2 23.210023298234766 23.159820072944253 8.364185218661742 0 0 0 +2757 3 -1.2 24.46497139727186 25.211857243396015 8.676252118218866 0 0 0 +2877 3 -1.2 22.14181826353054 19.582839848754805 14.21909205281423 0 0 0 +2911 3 -1.2 26.516601645264856 20.69177901819488 13.047835851548397 0 0 0 +2927 3 -1.2 24.079647503600196 22.632165404190584 13.55547720044326 0 0 0 +49 1 3 26.171002911306612 24.43429500703488 14.099236921160964 0 0 0 +236 1 3 26.76345361524436 19.22594383233064 12.514287055801734 0 0 0 +263 1 3 29.52081771944719 19.249406050176976 16.038127204610667 0 0 0 +281 1 3 29.21431518388543 24.531393507658507 14.145656115671612 0 0 0 +446 1 3 28.78625193658796 19.536385516403413 9.092341346965746 0 0 0 +486 1 3 30.419810748149473 25.180607948668925 8.469457546295898 0 0 0 +601 2 0.6 28.59023568210651 23.27085125912408 10.816423763140854 0 0 0 +648 2 0.6 27.30683151616686 17.708716601506588 14.918123246158597 0 0 0 +756 2 0.6 29.43939260854153 26.168391941204476 11.527908831230826 0 0 0 +764 2 0.6 31.270529258594546 21.971226499052246 16.00226948635166 0 0 0 +838 2 0.6 27.380330146508662 24.57604789130707 8.477580645907674 0 0 0 +939 2 0.6 28.794384524480122 21.275360237003273 13.513509493770272 0 0 0 +1036 2 0.6 27.81817807549143 22.16231857568432 8.78066497223189 0 0 0 +1048 2 0.6 30.727860724500665 19.8538542077853 10.937192807695679 0 0 0 +1057 2 0.6 30.302068905011872 18.016283243536524 12.921214102321844 0 0 0 +1314 3 -1.2 29.920758944843225 20.325866042379346 8.504089635797014 0 0 0 +1518 3 -1.2 29.33223287943638 24.26703946684565 12.671910116214672 0 0 0 +1696 3 -1.2 30.579495211099264 18.803599722877564 15.087015189135569 0 0 0 +1853 3 -1.2 29.653527675310375 23.293938248476806 14.848044580001838 0 0 0 +1950 3 -1.2 25.933593236096872 19.311390448081738 11.160996492939232 0 0 0 +2049 3 -1.2 29.030839797202187 18.25929178992801 9.79081175000304 0 0 0 +2070 3 -1.2 28.19141200151757 18.901775287199182 12.534279185802113 0 0 0 +2094 3 -1.2 28.326591079966217 19.809691673096534 15.359438975530692 0 0 0 +2128 3 -1.2 29.629442726081123 23.928852441879588 8.551852897433266 0 0 0 +2166 3 -1.2 27.288315033711303 22.955681715693157 16.435884226394542 0 0 0 +2351 3 -1.2 25.609699693653113 23.1475548378275 9.180344718940809 0 0 0 +2352 3 -1.2 27.401267302392508 25.322497544237212 10.404645508507194 0 0 0 +2518 3 -1.2 30.020518856418825 25.726000582354715 14.555116166531517 0 0 0 +1104 2 0.6 24.2656184407075 17.964642023748958 3.679168034468613 0 0 0 +2755 3 -1.2 30.05239773015839 20.122736067514918 17.11640381967703 0 0 0 +2756 3 -1.2 27.671456454999596 24.930837033591327 14.347046707329334 0 0 0 +2926 3 -1.2 28.345853698520013 20.521573625550577 10.117143726620672 0 0 0 +81 1 3 1.0789705933571534 27.469999670758277 12.482279009160587 0 0 0 +133 1 3 3.82802814852091 28.055310966979025 8.502227047149152 0 0 0 +211 1 3 1.4062101994313707 30.919557404043186 10.70804508672627 0 0 0 +438 1 3 33.85981280722473 28.096825146365337 14.815859934627756 -1 0 0 +529 1 3 33.7563748225999 33.01396164214457 16.064363612426536 -1 0 0 +580 1 3 2.2810957319483816 32.86736184452982 15.365393255351927 0 0 0 +903 2 0.6 4.3915212177315714 26.63373938096663 13.208497959476068 0 0 0 +948 2 0.6 1.8746942730635214 30.15248115711007 16.77723622321247 0 0 0 +949 2 0.6 3.9036300666761954 31.150917460691794 12.912035200493525 0 0 0 +982 2 0.6 2.9648212550035034 27.93374038400416 15.812273036970419 0 0 0 +1181 2 0.6 4.086181243537955 28.661426647443303 11.516907477441539 0 0 0 +1185 2 0.6 0.3067713473349089 33.28305257873962 12.37269832564032 0 0 0 +1216 3 -1.2 0.2730830200987876 28.535623441474364 9.137341497442574 0 0 0 +1285 3 -1.2 34.331849574456776 31.15332452065158 11.192547836337226 -1 0 0 +1356 3 -1.2 2.221239561753198 31.98428647206673 11.449262966145438 0 0 0 +1439 3 -1.2 5.676694044915363 31.42568797891596 11.414325182951538 0 0 0 +1443 3 -1.2 33.539548165970366 26.993398708451213 15.995515364649355 -1 0 0 +1469 3 -1.2 34.3064543905065 29.354362799143377 15.417394193255749 -1 0 0 +1502 3 -1.2 32.834331178241335 27.163288319744755 8.256765810777468 -1 0 0 +1521 3 -1.2 4.651332991521537 32.214860250838925 9.240287076513535 0 0 0 +1674 3 -1.2 2.99956466055463 31.57619143603701 15.263267998002377 0 0 0 +1782 3 -1.2 32.32312937473441 29.59309011873684 8.750002951684582 -1 0 0 +1817 3 -1.2 2.3459126692171135 29.744872891768626 10.820525197494376 0 0 0 +1860 3 -1.2 3.1354912607544843 33.893444871166025 16.23189869600019 0 0 0 +1947 3 -1.2 0.951633592758569 32.565282558351335 16.196493064173897 0 0 0 +1952 3 -1.2 31.690844572823522 33.636184810677264 7.346331068657179 -1 0 0 +2168 3 -1.2 1.272217345897311 31.283159734973687 9.224961014249912 0 0 0 +2212 3 -1.2 0.25260016255263 26.421663391409517 11.822896621984967 0 0 0 +2293 3 -1.2 0.7205088812751796 27.33857268264373 14.111411564773071 0 0 0 +634 2 0.6 5.545457787575469 23.71942844721821 1.562437641065098 0 0 0 +2586 3 -1.2 5.3653003970751 29.140558297190434 13.337731686804325 0 0 0 +2600 3 -1.2 2.9653570552897173 27.026042345775554 9.098231169028344 0 0 0 +2620 3 -1.2 4.849964561121792 28.640159444380274 9.412515015912126 0 0 0 +2632 3 -1.2 0.5239730773712509 28.82595084795969 12.452081465586401 0 0 0 +2712 3 -1.2 2.5239611277401646 27.178507709928866 12.363432748919362 0 0 0 +2852 3 -1.2 32.67648530513671 27.94058705613951 13.939760557670649 -1 0 0 +80 1 3 14.447558860228176 29.287035454317444 12.928213257370285 0 0 0 +132 1 3 8.992384230251151 31.670023325495134 12.927133849945253 0 0 0 +173 1 3 9.076081731413604 28.481301380757447 14.68668296017622 0 0 0 +175 1 3 5.799526046121207 31.744659866088643 10.00505840714782 0 0 0 +188 1 3 11.921203822398809 31.144668416001224 10.31266237141095 0 0 0 +228 1 3 6.082224926088872 28.772602003546023 14.561339862016132 0 0 0 +280 1 3 9.950510036960047 29.026908393456306 11.82293244226106 0 0 0 +352 1 3 10.79876563992137 30.767965574984554 15.101194185669032 0 0 0 +419 1 3 13.737442836588832 32.72318253476729 11.523306567902731 0 0 0 +552 1 3 12.210547878772042 28.19582102312488 10.105452805971442 0 0 0 +593 1 3 15.161118570842973 28.11587714760656 10.299108566672166 0 0 0 +676 2 0.6 13.627112827694312 28.146099837702597 15.858835725123598 0 0 0 +750 2 0.6 6.878870758374109 28.339514220313145 10.40551934576736 0 0 0 +754 2 0.6 11.670232126678838 27.320812603931348 14.91831178552137 0 0 0 +874 2 0.6 13.628105141152316 30.37348495555502 16.512539502155914 0 0 0 +1148 2 0.6 8.426042845930624 25.622111097752708 13.272909442106535 0 0 0 +1260 3 -1.2 6.133013105376109 29.792848472004877 15.763826484362198 0 0 0 +1282 3 -1.2 6.681647607843433 30.738875747325636 9.145428030196367 0 0 0 +1407 3 -1.2 13.324667578663684 30.20051621283351 12.562396102235242 0 0 0 +1517 3 -1.2 8.907308373179012 30.17510364507044 12.43397473901263 0 0 0 +1823 3 -1.2 12.458740433413471 29.7150135156542 9.773812331306 0 0 0 +1877 3 -1.2 14.225855821659502 32.07271148025538 15.377053645723477 0 0 0 +1938 3 -1.2 9.370835134441164 33.31589177209753 16.272724359750246 0 0 0 +1957 3 -1.2 13.923285389831848 28.020359903228155 13.46000637818277 0 0 0 +1965 3 -1.2 10.760464897857963 30.476236207244526 11.124003318267391 0 0 0 +2000 3 -1.2 9.421020202944764 27.495520271435797 15.711712963443995 0 0 0 +2101 3 -1.2 5.364703183900465 27.667747634495377 15.236256738930003 0 0 0 +376 1 3 19.53620798663794 17.579606115370424 11.91246116467146 0 0 0 +2116 3 -1.2 9.002191299724739 30.495672892470342 9.01993891715792 0 0 0 +2137 3 -1.2 9.053924162785737 28.20770903981306 10.970187163936894 0 0 0 +2172 3 -1.2 14.224621573390209 32.598735810610286 12.985558931925546 0 0 0 +2305 3 -1.2 7.493472382312341 27.26491599106242 8.294341350807501 0 0 0 +2308 3 -1.2 12.233384198788185 32.38251791900822 11.310369156839435 0 0 0 +2319 3 -1.2 13.641752847987139 27.664257242981638 10.339411727441396 0 0 0 +2371 3 -1.2 14.018560119165215 31.791901342319964 10.391044804947636 0 0 0 +2402 3 -1.2 9.103503037120669 32.63454491384509 8.271637422258964 0 0 0 +2403 3 -1.2 11.370796494797816 28.29553726849535 11.374465405672074 0 0 0 +2444 3 -1.2 11.397359937227176 31.5843796845383 16.14889950890932 0 0 0 +2599 3 -1.2 7.588250162011821 28.388164432548084 14.251478000137396 0 0 0 +2721 3 -1.2 9.447820100718157 29.90357758571374 15.228663902335265 0 0 0 +2735 3 -1.2 7.842672914860055 31.921596299626255 13.785914115790428 0 0 0 +2739 3 -1.2 11.490088444353573 31.90780456746955 8.99617388162399 0 0 0 +2752 3 -1.2 9.913087659526125 28.355822443257274 13.356542334427328 0 0 0 +2780 3 -1.2 7.153373278552946 32.57585139307315 9.727070332125228 0 0 0 +2795 3 -1.2 9.176287238863628 32.584714162066696 11.792653141334236 0 0 0 +2804 3 -1.2 11.743853009498263 29.64683565912432 14.840457263090205 0 0 0 +2875 3 -1.2 10.347420246297128 31.596656752868494 13.828157154624309 0 0 0 +2876 3 -1.2 11.55876709080906 27.42341762054939 8.950833783611555 0 0 0 +320 1 3 16.995930875452867 30.744988911459288 13.45365080789057 0 0 0 +461 1 3 16.470725507450318 25.584165174139244 14.373539773655855 0 0 0 +487 1 3 18.738157397565143 27.24710419719132 9.596388532752982 0 0 0 +642 2 0.6 20.13543853709148 28.341295767095243 13.351737689173007 0 0 0 +1074 2 0.6 16.957057989892853 30.605428928101084 10.334435746772943 0 0 0 +1179 2 0.6 17.990876717443314 27.490689105024057 12.334313531714413 0 0 0 +1190 2 0.6 18.53110310102363 29.133798391381088 15.259733431950359 0 0 0 +1236 3 -1.2 19.138292977635754 33.10236828974016 12.614096110460968 0 0 0 +1288 3 -1.2 16.42780988684889 26.845262971970627 13.622648832741886 0 0 0 +1328 3 -1.2 15.794929047960219 28.06938940999117 16.27398183046021 0 0 0 +1405 3 -1.2 19.286811916386572 31.758361742006784 10.481269664978788 0 0 0 +1428 3 -1.2 20.032892636495745 27.325467502411467 10.501827611251647 0 0 0 +1540 3 -1.2 15.176031006053272 29.09489803429209 11.504093924884142 0 0 0 +1638 3 -1.2 16.975042125382917 25.952688301567253 15.826535613022164 0 0 0 +1745 3 -1.2 15.61569374842414 29.953067208043535 13.72536331746845 0 0 0 +1993 3 -1.2 18.024461146390866 28.483131666017588 10.035909427446844 0 0 0 +2121 3 -1.2 16.69938467731366 31.634337171779496 12.293454219701424 0 0 0 +2133 3 -1.2 16.058617195680405 27.019608191888494 10.519277685852447 0 0 0 +2294 3 -1.2 16.7804442642466 31.404126229138654 8.404162004690644 0 0 0 +2311 3 -1.2 17.38904677083303 31.43178149486721 14.711527274695886 0 0 0 +2501 3 -1.2 15.31953128019002 28.81537207495242 8.911970908212036 0 0 0 +2550 3 -1.2 19.045409155047626 33.09145735583664 16.69267099709899 0 0 0 +2719 3 -1.2 16.09441738637231 33.51269946432117 16.8679219048579 0 0 0 +2981 3 -1.2 18.071403288934032 29.746070125257468 13.108409036918642 0 0 0 +18 1 3 20.335824977217154 30.911398595534095 9.630607939233187 0 0 0 +111 1 3 26.374984793808945 31.52223957391413 15.788707839206042 0 0 0 +112 1 3 21.323269829038917 28.237843736951156 10.560772850482348 0 0 0 +144 1 3 20.242980812361598 32.13106956842044 16.426163915627303 0 0 0 +516 1 3 25.545277077841714 29.238426441072477 10.36062602267975 0 0 0 +834 2 0.6 22.79585800147831 27.42112670171778 13.906536602472077 0 0 0 +988 2 0.6 20.43767232873888 30.94457083099297 13.0548650650782 0 0 0 +1103 2 0.6 23.075592639044046 31.172095015329585 13.601707326735024 0 0 0 +1159 2 0.6 21.12322316678459 27.831369466270168 15.772041441793728 0 0 0 +1163 2 0.6 25.690796013665757 31.997148348347253 12.130884102734814 0 0 0 +1194 2 0.6 25.170246145075374 26.174386150757304 10.685241681029035 0 0 0 +1311 3 -1.2 21.984767952970753 27.888156846655 11.825209714827052 0 0 0 +1342 3 -1.2 21.5451508856882 31.899637836937593 9.577241630385187 0 0 0 +1414 3 -1.2 22.0667807342153 32.25114863606231 11.878454214854706 0 0 0 +1425 3 -1.2 25.3365714747723 31.812732317628072 17.00650462848808 0 0 0 +1449 3 -1.2 21.604387167188925 25.710078308003563 14.851081241760246 0 0 0 +1970 3 -1.2 21.87049374002598 17.261939741473476 8.01776427315882 0 0 0 +1834 3 -1.2 22.05045641638114 28.138284303375595 9.30228382331888 0 0 0 +1942 3 -1.2 25.253231843092472 28.409377438477215 11.716627652803814 0 0 0 +1962 3 -1.2 19.335321248904062 27.74239413931058 8.166523543178068 0 0 0 +2064 3 -1.2 25.66188839917045 32.292922030481265 7.492644887385316 0 0 0 +2135 3 -1.2 25.003066179160573 28.478041157154028 9.19210918303153 0 0 0 +2307 3 -1.2 24.83834911301971 27.664798879579198 14.174408821860075 0 0 0 +2388 3 -1.2 20.737778111733068 29.730883995333095 10.58698506073046 0 0 0 +2418 3 -1.2 19.859126264525788 30.727924405491756 16.541707537515144 0 0 0 +2464 3 -1.2 24.91987988452258 30.57395303668802 10.509296699015817 0 0 0 +2779 3 -1.2 24.837875330353945 29.996980909080555 13.496214915201882 0 0 0 +2956 3 -1.2 21.441277636959725 29.626973642993924 14.508095692979794 0 0 0 +171 1 3 25.486059373260204 28.682557701622272 13.31447376275508 0 0 0 +336 1 3 28.710719264381577 29.64869191969644 12.605173105884905 0 0 0 +583 1 3 29.204798876671966 31.486245262662184 10.308836676170188 0 0 0 +620 2 0.6 27.31173572825537 26.77032925976713 11.914574101125199 0 0 0 +626 2 0.6 28.11866210217609 28.006179766022715 15.249618303336367 0 0 0 +791 2 0.6 29.249867933027566 28.28823363649845 9.723763250874716 0 0 0 +963 2 0.6 30.618536494029822 28.04724340602419 14.443252430148062 0 0 0 +1255 3 -1.2 29.18158905323538 30.707772892993535 8.866234261214975 0 0 0 +1330 3 -1.2 29.522207329482143 30.459477845374813 11.398570339046325 0 0 0 +1390 3 -1.2 27.91710899031327 32.21492792260874 10.291063511408895 0 0 0 +1579 3 -1.2 30.28924496361322 26.122777745125124 9.597367641576291 0 0 0 +1730 3 -1.2 30.05181367147777 31.235659294298287 16.17042830600529 0 0 0 +1912 3 -1.2 26.48611333911686 30.05505633999689 15.812912561296214 0 0 0 +1934 3 -1.2 29.065117609209988 28.2589348467784 12.119337787542673 0 0 0 +2143 3 -1.2 29.165926212809524 32.88973282504234 14.371624780450516 0 0 0 +2238 3 -1.2 27.775455853815405 32.090131341788094 16.27831465961291 0 0 0 +2253 3 -1.2 25.976581703126964 32.33099204540939 14.639968571824 0 0 0 +2334 3 -1.2 31.395852894475283 29.305775382541093 17.035134062527877 0 0 0 +2404 3 -1.2 29.357760309101934 29.768900698621955 13.937949655643283 0 0 0 +2407 3 -1.2 26.962045250622047 28.422404120236536 13.436499378493817 0 0 0 +2410 3 -1.2 30.346566506218288 32.43709015643101 10.234519793322864 0 0 0 +2414 3 -1.2 27.55923206467198 30.613086258716088 12.557237303017828 0 0 0 +2551 3 -1.2 29.00546944251388 29.036330183380414 17.12133298601734 0 0 0 +2884 3 -1.2 27.03725907156928 29.1596297799791 10.207946729128322 0 0 0 +214 1 3 2.43427398074556 32.51623078420414 1.3562312063155624 0 -1 0 +777 2 0.6 4.1653030759635135 20.41481705504044 1.8352807309588273 0 0 0 +1507 3 -1.2 13.178156934751398 27.780332493456314 0.6341639725514285 0 0 0 +1806 3 -1.2 9.975164457791578 33.15746030792825 4.635326403450543 0 -1 0 +738 2 0.6 12.941597449293916 33.97354121224608 0.9817978016298794 0 -1 0 +1841 3 -1.2 17.513932588963566 17.979741286568064 16.781781100472315 0 0 0 +973 2 0.6 30.385531655465083 27.688338619881176 1.0511584237172154 0 0 0 +525 1 3 29.106276871217247 17.491165148655412 1.4848342671676147 0 0 0 +2383 3 -1.2 5.005125450906489 33.552495787545695 14.94027941163361 0 -1 0 +1935 3 -1.2 29.08460130584373 17.877521418996487 16.769355869174433 0 0 0 +521 1 3 1.052249383362647 17.625300225264418 13.203508884198845 0 0 0 +717 2 0.6 15.661238550346122 26.831065271126523 0.6713088342050317 0 0 0 +1819 3 -1.2 27.26813278199119 33.74377647132866 6.1990602921754965 0 -1 0 +2731 3 -1.2 9.511977819618078 31.067678835321768 0.602398130662102 0 0 0 +272 1 3 4.678861662282438 34.29886806423176 16.16787278956106 0 -1 0 +905 2 0.6 30.937387587565205 25.063551922164915 16.671769801107388 0 0 0 +76 1 3 5.329915021196723 17.34187018748662 20.434984041338375 0 0 0 +165 1 3 2.5346733604971203 19.98331759240903 20.563158209393183 0 0 0 +256 1 3 4.938146088960851 20.03131279067204 24.097097636569423 0 0 0 +2749 3 -1.2 25.7051746373569 33.74144729650093 28.566500260534543 0 -1 0 +335 1 3 1.2420622964520043 24.396734466457843 22.61401589481627 0 0 0 +1620 3 -1.2 22.783943911225737 25.822563511174078 17.810682650863114 0 0 0 +388 1 3 5.701392708711743 22.70649614117033 25.17967701553336 0 0 0 +418 1 3 4.080996885546088 25.146124649045785 18.993279724405085 0 0 0 +2933 3 -1.2 19.446923382805746 22.289065861267446 17.265532468469214 0 0 0 +533 1 3 0.29580442050334455 21.86117724797798 21.358391155817465 0 0 0 +587 1 3 3.744699346247368 24.67595838647935 24.228497966934327 0 0 0 +618 2 0.6 32.36894408057684 20.78504120563057 19.8630974787371 -1 0 0 +687 2 0.6 5.777419911034528 22.46731531713354 20.421727199849176 0 0 0 +745 2 0.6 33.9629937345083 24.559408488693688 19.582829385446846 -1 0 0 +765 2 0.6 2.030118242155379 23.11387923752548 18.336883004270476 0 0 0 +869 2 0.6 4.450339861956867 21.575168206236363 18.21254512033014 0 0 0 +871 2 0.6 5.031753728334439 26.06338340862565 21.772563720957027 0 0 0 +896 2 0.6 33.843305760495966 22.336083589122474 17.256379790239368 -1 0 0 +936 2 0.6 32.46075426378349 19.344676455978096 17.794286433412637 -1 0 0 +971 2 0.6 5.263333327893035 18.359797802210508 17.631551481567556 0 0 0 +980 2 0.6 34.04863215081426 25.14747045107404 25.74192025754754 -1 0 0 +983 2 0.6 33.71162179062362 18.847746461644586 22.472618873085125 -1 0 0 +1128 2 0.6 2.0187616100080734 21.459331641108193 23.71580447321445 0 0 0 +1352 3 -1.2 2.9626672173675916 25.426203853461995 18.042437599139692 0 0 0 +1395 3 -1.2 33.58687221751633 20.918559494829537 21.785217015463513 -1 0 0 +1522 3 -1.2 0.4902664432111146 25.33958789438636 23.47064024461713 0 0 0 +1617 3 -1.2 0.6697902697450582 20.793578800496622 27.074362881130988 0 0 0 +1680 3 -1.2 2.010053432737598 18.618906081359338 25.96353068247063 0 0 0 +1692 3 -1.2 5.424070873547335 25.193226768709415 18.080375921207327 0 0 0 +1756 3 -1.2 34.301869427691045 22.46997859507061 20.057238207495303 -1 0 0 +1971 3 -1.2 4.0776146059216725 20.98479579954977 23.29941922173677 0 0 0 +2051 3 -1.2 33.45138233077604 18.139323455589253 19.820912896743227 -1 0 0 +2268 3 -1.2 4.2331569417297885 17.736590104859108 19.52534023439901 0 0 0 +2296 3 -1.2 4.331220972413318 23.500548421945833 25.122518291145386 0 0 0 +2331 3 -1.2 2.4617438537515905 18.76635738966966 21.56323568224002 0 0 0 +2353 3 -1.2 1.6807829578247 21.11065073423773 21.30590117068365 0 0 0 +2358 3 -1.2 1.7483893094380836 19.524792470241962 19.344496998418748 0 0 0 +2369 3 -1.2 3.905855708226287 18.696196036200014 23.527017309430825 0 0 0 +2422 3 -1.2 33.50145681002191 17.41880182284146 24.109111890584895 -1 0 0 +2525 3 -1.2 3.9004627750279703 23.773143424810506 19.545643573049407 0 0 0 +2585 3 -1.2 33.846428128737514 23.101982825301494 26.789785052961975 -1 0 0 +2590 3 -1.2 0.5209670593620582 22.972318992633053 22.478072216143683 0 0 0 +2777 3 -1.2 3.8347988768318384 20.553601063259222 20.2298416019051 0 0 0 +2784 3 -1.2 2.587239289420995 24.04072454502661 23.36858361765513 0 0 0 +2806 3 -1.2 0.0414469114718591 26.24509654488016 18.185034288175043 0 0 0 +2861 3 -1.2 1.3899169508569018 24.810149649164284 21.218563200115195 0 0 0 +2897 3 -1.2 0.5602225988233688 20.105705022738444 24.798273643942583 0 0 0 +2935 3 -1.2 34.20332701781739 18.518898264916334 27.035904556728866 -1 0 0 +74 1 3 6.67578659833698 24.31768781095414 17.66615455679027 0 0 0 +2350 3 -1.2 30.515027885865802 17.633493278611333 18.76715774160179 0 0 0 +167 1 3 14.555470505658576 20.077502040327474 24.649548010769788 0 0 0 +249 1 3 8.126757639374802 26.304863012137716 23.742352941452012 0 0 0 +253 1 3 12.457996486568641 23.540920996480168 24.355030723441903 0 0 0 +264 1 3 12.101698738272736 19.57896078760928 18.650947283497384 0 0 0 +291 1 3 7.532854568193494 25.710519694010724 20.944581426030236 0 0 0 +295 1 3 9.228539411515474 19.897656283362526 19.066100550025237 0 0 0 +298 1 3 8.337653262928862 23.406807419419536 24.212017859864723 0 0 0 +337 1 3 13.095249065671359 23.566633153177467 21.47834231073248 0 0 0 +346 1 3 12.657077314100205 22.482195379383615 18.77477223278166 0 0 0 +462 1 3 9.430196983936709 18.8965543265671 23.21985874916419 0 0 0 +480 1 3 9.324042423160586 24.417084189207667 19.126023837087775 0 0 0 +519 1 3 12.682616731625316 21.464044708479538 26.446721221302447 0 0 0 +369 1 3 23.960979768351557 33.14600662024763 34.08200605054554 0 -1 0 +568 1 3 6.904919581917647 19.556475361737668 21.90486624402518 0 0 0 +585 1 3 10.44149761293367 17.42330138761801 25.499913364671894 0 0 0 +674 2 0.6 13.50367135697632 17.97329264213232 26.715184109472567 0 0 0 +696 2 0.6 11.017822645464852 26.234414392891573 20.81191299834608 0 0 0 +2497 3 -1.2 2.159739136908408 20.880650437139128 34.1497525681321 0 0 -1 +798 2 0.6 14.997188909749696 20.18729841862475 17.57892923306447 0 0 0 +821 2 0.6 12.798066418672153 17.9192771359213 21.987590047544206 0 0 0 +879 2 0.6 10.629961732673946 25.07997105617068 22.51066891775336 0 0 0 +944 2 0.6 14.73687074703225 25.928051292187412 25.662860941190797 0 0 0 +995 2 0.6 10.175254954269116 21.822043851888843 21.82393470937455 0 0 0 +1024 2 0.6 13.947521170218897 25.803581842786866 18.01033441713912 0 0 0 +1063 2 0.6 9.896398316513892 20.80910015418961 25.760632486376586 0 0 0 +1169 2 0.6 15.049586346176849 17.53050490330374 20.046709467311874 0 0 0 +1284 3 -1.2 9.392442090019678 23.06580144807643 19.643826395967338 0 0 0 +1299 3 -1.2 7.350699841571892 25.76180273989636 22.486690827848133 0 0 0 +1334 3 -1.2 12.927606286020007 20.91830581224698 18.838860462999087 0 0 0 +1387 3 -1.2 11.54519713697828 22.688064783187695 17.85321698440074 0 0 0 +1415 3 -1.2 10.643601402179822 20.00381229873446 18.34225991661117 0 0 0 +1417 3 -1.2 9.045639973436927 22.7836607362128 25.326933568916456 0 0 0 +1457 3 -1.2 5.824081895904068 18.68056105365422 21.209269575037162 0 0 0 +1570 3 -1.2 6.839254883480333 22.884454272280532 24.113090106672544 0 0 0 +1585 3 -1.2 12.152434065292736 18.848473203397425 19.922381825870577 0 0 0 +1593 3 -1.2 13.323336128985124 20.2856342280046 25.666540603201465 0 0 0 +1598 3 -1.2 8.19476782838287 24.991855107255184 24.598219839495165 0 0 0 +1643 3 -1.2 12.38219195803764 22.778505816125055 20.329522896798252 0 0 0 +1676 3 -1.2 8.941511259227642 18.445354793800025 19.130382191594656 0 0 0 +1788 3 -1.2 9.404738451510939 20.315168272451544 23.627063139325397 0 0 0 +1900 3 -1.2 12.657110272185074 24.98164980888141 21.376289787513 0 0 0 +1982 3 -1.2 7.0253510788548565 20.827211131751035 21.21514505404372 0 0 0 +1983 3 -1.2 10.49344787397184 25.06771087471848 18.525264223422628 0 0 0 +1986 3 -1.2 12.105660023243544 22.306551232805848 25.245962228920586 0 0 0 +2041 3 -1.2 9.314339084916046 18.020941467235215 24.59706121679781 0 0 0 +2055 3 -1.2 8.953799859619563 25.29214013661844 20.449867101539763 0 0 0 +2153 3 -1.2 11.365115632769646 24.53694360766084 24.521773528840765 0 0 0 +2216 3 -1.2 8.149846047467756 18.707368460821886 22.31855038543897 0 0 0 +2263 3 -1.2 9.040674810271536 23.489455681620402 22.918377660472235 0 0 0 +2286 3 -1.2 5.243151354562101 21.254686457726383 25.205131497476174 0 0 0 +2288 3 -1.2 6.609621892599168 24.672631979699524 20.464058638314356 0 0 0 +2443 3 -1.2 10.68917229443696 18.360514753131167 22.70799223837438 0 0 0 +2568 3 -1.2 5.2139998362024205 18.95721030288574 25.307624963815847 0 0 0 +2662 3 -1.2 4.972610426000081 24.920647656623565 23.464934285717867 0 0 0 +2678 3 -1.2 13.76795302386997 23.431275286026732 18.48767875900541 0 0 0 +2842 3 -1.2 12.484799432564381 23.082374679557056 22.853222129487158 0 0 0 +2898 3 -1.2 6.287655899999374 19.86803042228372 23.32109257036616 0 0 0 +467 1 3 6.176777979383377 27.950548210194242 33.99646729628139 0 0 -1 +2929 3 -1.2 9.585646823093862 20.321982249056784 20.44939572250645 0 0 0 +2963 3 -1.2 8.097950127154196 20.654621030266565 18.289825671367492 0 0 0 +2977 3 -1.2 13.75361475171355 24.075566120708526 24.84366129815154 0 0 0 +2989 3 -1.2 8.058902349378464 24.828244795698094 18.269496330064587 0 0 0 +14 1 3 17.171143758682756 20.513000868975237 20.02787747411553 0 0 0 +105 1 3 19.812464581789193 20.660384678133237 23.67076931647361 0 0 0 +196 1 3 18.69803723825935 24.160048010018883 19.614368704242843 0 0 0 +1856 3 -1.2 3.2857388796963503 19.59068655499363 17.398572407108777 0 0 0 +895 2 0.6 17.027740780672016 25.399757017497528 24.094763601623633 0 0 0 +915 2 0.6 15.7296571587481 23.562221113027586 19.205804496768884 0 0 0 +1027 2 0.6 16.461450371005192 22.812684498396223 22.102677248650686 0 0 0 +2980 3 -1.2 12.81271798296803 22.065422941576617 34.01523777840539 0 0 -1 +1131 2 0.6 16.886474049644125 22.108242679003094 24.10558069086662 0 0 0 +1160 2 0.6 17.066315488567803 18.64880862040166 22.534249399650843 0 0 0 +1203 3 -1.2 16.17102138740478 21.34137058118203 19.297642819848118 0 0 0 +1339 3 -1.2 19.439787402956938 22.725700781755986 19.62970082572791 0 0 0 +1471 3 -1.2 18.43940476741161 23.908228777444595 23.316984010972128 0 0 0 +1586 3 -1.2 20.63892495337611 24.718582593667325 18.423044312363576 0 0 0 +1606 3 -1.2 15.67170583775066 19.766891137440496 25.578157652891186 0 0 0 +1646 3 -1.2 18.503370646760846 20.54315461491597 24.276359593316027 0 0 0 +1787 3 -1.2 19.102296539890684 26.549873356528565 24.02200540642396 0 0 0 +1875 3 -1.2 17.60055703537106 21.077031551324026 21.352208062840926 0 0 0 +1953 3 -1.2 16.315268288030442 26.553405828049453 18.15785916216522 0 0 0 +1988 3 -1.2 19.172316967582162 25.437395411545587 20.223156262030773 0 0 0 +1997 3 -1.2 17.459284028678724 23.90868971456071 20.404264609289097 0 0 0 +2033 3 -1.2 16.73137303967964 19.12556227658319 20.276175332364375 0 0 0 +2040 3 -1.2 14.796164198131917 21.454313475476702 24.09423113942669 0 0 0 +2131 3 -1.2 18.199595454854826 24.168827025084333 18.08962068922613 0 0 0 +2194 3 -1.2 18.099380238414952 22.871841181726616 25.960807095992795 0 0 0 +2214 3 -1.2 14.264368050400988 19.109835397587005 23.571747863886046 0 0 0 +2217 3 -1.2 19.364797339303095 24.82850694276584 26.482203310550414 0 0 0 +2244 3 -1.2 14.544610665423777 23.4086986444906 21.44249251802766 0 0 0 +2279 3 -1.2 18.47669916090079 20.572020140940033 19.060400786872975 0 0 0 +2696 3 -1.2 15.417815315126 17.974605284608792 17.963758438319818 0 0 0 +2775 3 -1.2 20.0204925729776 18.97602174457852 26.001304256697434 0 0 0 +2995 3 -1.2 15.805514715948524 26.975654124285324 23.227604621213548 0 0 0 +20 1 3 21.65304756327557 19.543776529089612 21.69478839876396 0 0 0 +64 1 3 23.019563555457946 21.799356405432185 20.338196436270017 0 0 0 +304 1 3 19.852261077505126 23.567025407174903 23.19346515597964 0 0 0 +370 1 3 26.04915300430795 23.865425664632937 26.18357959350598 0 0 0 +395 1 3 24.551088663871035 22.49788972888495 22.741069144841347 0 0 0 +398 1 3 19.669587854804657 21.49908725472843 18.62821939916155 0 0 0 +443 1 3 21.41138315472932 19.661824080421365 25.908614999706387 0 0 0 +550 1 3 21.591915123096577 25.853077279685863 18.678477214417722 0 0 0 +705 2 0.6 24.23602822631818 24.20058031199405 17.4399492004917 0 0 0 +707 2 0.6 25.79086479557896 21.66753535846272 19.261029414686565 0 0 0 +724 2 0.6 22.417803238514157 17.453321820007563 18.987403838718084 0 0 0 +909 2 0.6 24.12580721101395 20.590301936760092 24.834317943565065 0 0 0 +1101 2 0.6 24.199933390944548 18.42994324997936 21.113073058852518 0 0 0 +1267 3 -1.2 21.692894292777527 25.55960306063526 26.20637109645728 0 0 0 +1295 3 -1.2 20.62268857754792 24.26252721149268 22.022342440039733 0 0 0 +1335 3 -1.2 20.306536800660204 19.65452489308897 22.600940984617452 0 0 0 +1336 3 -1.2 22.015788298690303 25.644162995757384 20.23844661470121 0 0 0 +433 1 3 3.2444628111350307 17.76953750236714 22.46564615007094 0 0 0 +1619 3 -1.2 24.77312262270597 18.07816749867242 18.97321892025578 0 0 0 +1647 3 -1.2 22.745809161865143 19.23543216857229 22.634690475798106 0 0 0 +1744 3 -1.2 20.67618032052663 24.037593084201337 24.47622637784018 0 0 0 +1837 3 -1.2 20.99893243996984 20.63581696286099 24.728451797492085 0 0 0 +1869 3 -1.2 25.552472057383923 19.055367326898 25.280068534056507 0 0 0 +1907 3 -1.2 23.897804485620952 22.718859876115424 21.296834502691834 0 0 0 +2075 3 -1.2 22.614927305789827 25.542528454954006 22.652566570053818 0 0 0 +2200 3 -1.2 19.979539809508935 22.0585100378717 23.02202812426552 0 0 0 +2265 3 -1.2 26.63086605597098 24.327973478206353 18.57998909512528 0 0 0 +2298 3 -1.2 25.438468038065846 26.42884826267568 23.546964584585545 0 0 0 +2329 3 -1.2 26.590694376434094 17.255046215189374 23.928918790337455 0 0 0 +2364 3 -1.2 25.94169856697716 25.462979595825768 21.141354588109117 0 0 0 +2397 3 -1.2 25.262975117827857 21.18536190581421 22.61121710045832 0 0 0 +2452 3 -1.2 22.49777057821333 22.74839900524663 19.357859893596878 0 0 0 +2477 3 -1.2 20.878012903334696 20.695251080352847 18.63278745776515 0 0 0 +2542 3 -1.2 23.906627820330332 20.675391557517557 19.981067250438993 0 0 0 +2594 3 -1.2 21.452691348454255 18.539155715992887 20.662022567312825 0 0 0 +2611 3 -1.2 23.3261929001662 22.4135492505171 23.595700983304486 0 0 0 +2800 3 -1.2 22.436476801349265 18.659392715935613 25.717535344613513 0 0 0 +2802 3 -1.2 25.50348331922547 23.549032000034273 23.244849941533218 0 0 0 +2938 3 -1.2 24.879364567059053 24.786112577394114 25.61110912919781 0 0 0 +2979 3 -1.2 21.90095789852314 21.02907369574277 21.190466888199357 0 0 0 +26 1 3 26.779842248950317 18.596121289561648 24.682459612438432 0 0 0 +311 1 3 25.416673032553977 18.726596908888233 17.789348004497732 0 0 0 +325 1 3 30.116583772423862 22.79511861044235 19.146682431397366 0 0 0 +373 1 3 29.46552865635124 19.22317518008564 25.688667639707187 0 0 0 +378 1 3 28.76963051751729 20.329906093685484 23.14592966552253 0 0 0 +470 1 3 26.828581585321054 24.66384525388304 20.103153907364117 0 0 0 +586 1 3 27.762564970895056 23.774341880786785 17.532040237707136 0 0 0 +2103 3 -1.2 2.722553972294047 32.022485784269584 34.30423525986318 0 0 -1 +958 2 0.6 26.89228638876904 18.691141020214186 20.44239406091206 0 0 0 +985 2 0.6 30.961247268511897 17.201273629523392 22.341193849536776 0 0 0 +1010 2 0.6 28.78876839925474 23.528311910803342 22.08881443728687 0 0 0 +1037 2 0.6 27.777005790336336 21.070174539984066 19.998032753653273 0 0 0 +1132 2 0.6 30.892230431181098 22.63980281918318 25.17622872459073 0 0 0 +1157 2 0.6 28.76416409414136 24.437434430050438 24.65801309410989 0 0 0 +1196 2 0.6 29.82524964438568 19.302291221189467 19.89232233955238 0 0 0 +1269 3 -1.2 29.717702981106086 19.45807476652025 24.143591300761194 0 0 0 +1495 3 -1.2 28.634876802525444 22.895930112098114 18.536016076430478 0 0 0 +1531 3 -1.2 28.0855018358123 18.43898862571475 25.584405308284275 0 0 0 +1584 3 -1.2 30.293923155440236 21.443251878228203 19.739441684234254 0 0 0 +1693 3 -1.2 26.79715259843608 22.50873449483682 25.754805808900624 0 0 0 +1725 3 -1.2 30.225875757493405 23.77984917955282 20.279680594078542 0 0 0 +1726 3 -1.2 29.03774456158848 21.75276987547467 23.460919326644927 0 0 0 +1767 3 -1.2 30.150955304413777 26.121618415415544 25.515537908654093 0 0 0 +1778 3 -1.2 28.758919712918672 19.968997321893326 21.732428725026395 0 0 0 +2228 3 -1.2 27.73236528514023 25.633605467179024 22.901890207089345 0 0 0 +2346 3 -1.2 31.069811847663473 23.148264283170466 18.075842553542586 0 0 0 +2021 3 -1.2 17.4498532574235 17.696683308887813 24.65213986796213 0 0 0 +2547 3 -1.2 27.078958090256236 24.932342995937887 25.914297252871673 0 0 0 +2562 3 -1.2 27.411295071558225 19.729878333902082 23.768303391309644 0 0 0 +2658 3 -1.2 26.995098450556984 23.297976831944805 20.68640814175502 0 0 0 +2715 3 -1.2 26.514555549416457 19.594972267865874 18.362317394121128 0 0 0 +2726 3 -1.2 28.008776888296254 25.57841049828267 20.10694722696575 0 0 0 +194 1 3 3.5028188187019706 29.102361560298323 22.203132808931347 0 0 0 +199 1 3 32.537605044644806 30.618056718929218 21.79450351440501 -1 0 0 +482 1 3 3.23995866910982 31.280033823927045 20.014680002852305 0 0 0 +545 1 3 0.6273600187271432 27.657637777360755 18.723677131917263 0 0 0 +662 2 0.6 1.8935189570119824 32.44703272602641 23.0166058117963 0 0 0 +667 2 0.6 0.6527439470847747 30.11721194244608 20.349182225226528 0 0 0 +747 2 0.6 3.416048273587304 28.165678458328983 19.07471283141046 0 0 0 +776 2 0.6 32.946997407207014 32.84883228153504 24.465496236779128 -1 0 0 +904 2 0.6 1.878322837753384 27.677182827670368 24.654962739283473 0 0 0 +1014 2 0.6 33.28840478689029 28.71449891263481 24.355170051708516 -1 0 0 +1080 2 0.6 0.35538671893168 27.568969735052352 21.98325197118565 0 0 0 +1126 2 0.6 33.1315788046584 30.378271464742628 18.03958453991867 -1 0 0 +1130 2 0.6 5.026507822299855 27.504085586952648 24.79531497640791 0 0 0 +1218 3 -1.2 33.16461784366832 29.33576057163748 22.220313979974737 -1 0 0 +1298 3 -1.2 4.617953768711638 31.989126746683223 21.566367578004524 0 0 0 +1419 3 -1.2 3.7844062791770163 33.36003079523817 26.51644698207349 0 0 0 +1479 3 -1.2 1.392130324438039 27.579273761828407 19.985178968414647 0 0 0 +1490 3 -1.2 4.132562926602499 30.22463505144766 23.119457666247776 0 0 0 +1509 3 -1.2 4.209610542750506 26.264285669092633 19.95448669065029 0 0 0 +1549 3 -1.2 32.27301279419546 31.517975853789064 22.941566225790993 -1 0 0 +1600 3 -1.2 2.1199142118803853 28.81924815616326 22.624419762578103 0 0 0 +1688 3 -1.2 31.9160739036743 27.75692858110295 25.96934626907734 -1 0 0 +1698 3 -1.2 2.192355627239646 31.68859378714723 20.997027371100046 0 0 0 +1780 3 -1.2 0.8416871083252269 29.267173432238437 25.90554112246787 0 0 0 +2014 3 -1.2 0.5603476575746341 31.29248838759657 24.500439521098627 0 0 0 +2114 3 -1.2 1.432523773486327 28.027092179624447 17.52939451454596 0 0 0 +2280 3 -1.2 33.7888481715495 28.517870431401153 19.0039500090544 -1 0 0 +2292 3 -1.2 4.086491096310809 32.263977573298746 19.12386131611903 0 0 0 +2421 3 -1.2 3.2586421530033363 25.905736204911165 24.87253800529351 0 0 0 +1799 3 -1.2 14.692473811197248 29.36025041616784 33.433090896297365 0 0 -1 +2500 3 -1.2 2.4446901840317787 30.581481527713304 18.926435563687686 0 0 0 +2507 3 -1.2 3.735540463159408 29.772082475718303 20.801335241897966 0 0 0 +2670 3 -1.2 33.030801393516704 31.246972574225985 20.56670895670377 -1 0 0 +2762 3 -1.2 6.965229155718771 28.725703079937144 17.774579119822647 0 0 0 +2869 3 -1.2 5.328511216024546 29.82472497610618 27.047121730461672 0 0 0 +2917 3 -1.2 4.396268415965376 27.949170448461157 22.50833023802579 0 0 0 +32 1 3 11.48722312164658 30.759263174897676 21.210286521119514 0 0 0 +232 1 3 9.466855548715452 30.940463934631726 23.306325627562053 0 0 0 +315 1 3 5.805364064330274 29.50486721314821 17.287962806684803 0 0 0 +321 1 3 12.645424369734487 28.016128115605508 23.634881811385597 0 0 0 +447 1 3 5.705413040167452 32.393349511223754 18.36079893118316 0 0 0 +473 1 3 10.092074202425804 28.713075011541974 25.033362362672946 0 0 0 +532 1 3 11.400680902635619 28.99835326101689 18.764643507936956 0 0 0 +535 1 3 5.286183828790969 31.290240637775906 22.69704965652989 0 0 0 +628 2 0.6 12.052088438803152 25.726846641114005 26.328143046722623 0 0 0 +683 2 0.6 6.624782559548993 28.355977455242414 22.230032830064843 0 0 0 +759 2 0.6 11.218365799466891 31.9637445472149 26.222187703185895 0 0 0 +808 2 0.6 13.132289969029946 26.98464798304629 20.408398831767386 0 0 0 +827 2 0.6 8.012952950311973 30.804476898347154 19.606754309937774 0 0 0 +906 2 0.6 14.26102811539332 31.798856419162707 22.363213994819844 0 0 0 +942 2 0.6 8.784862344271893 27.415669563625165 17.896965145226666 0 0 0 +961 2 0.6 12.869063953022197 30.755799851917494 24.64509055037088 0 0 0 +1100 2 0.6 11.46777124559261 31.860155597133627 18.20118091634953 0 0 0 +1120 2 0.6 9.33438661640957 28.234283876925723 20.88729863803963 0 0 0 +1164 2 0.6 6.9687513527518155 30.665445378688453 25.36574106120318 0 0 0 +1240 3 -1.2 5.582067999182461 31.94272697250043 23.99755683846547 0 0 0 +1271 3 -1.2 9.370713154826493 32.44302476036665 18.489380904442687 0 0 0 +1432 3 -1.2 14.08695792083846 28.76064269708635 23.527488036910118 0 0 0 +1448 3 -1.2 12.456800482231943 30.69360549172066 22.305836719639757 0 0 0 +1515 3 -1.2 11.9054753231004 29.88949951302841 20.02212494912601 0 0 0 +1516 3 -1.2 10.051697973823849 30.572418918390504 21.85812497515795 0 0 0 +1632 3 -1.2 9.280518563269782 29.495336878279446 23.90659272669259 0 0 0 +1742 3 -1.2 15.964899091725314 30.226281659206517 21.32828344433575 0 0 0 +1822 3 -1.2 11.046953577660101 27.711397956922404 19.40705498644844 0 0 0 +1842 3 -1.2 12.46251477582906 28.91831052555852 17.74342546711675 0 0 0 +1948 3 -1.2 10.131698897095385 29.654127173506097 18.375630109998767 0 0 0 +1976 3 -1.2 13.057386892014751 26.89520022531627 24.49700847454352 0 0 0 +2029 3 -1.2 5.616934447071082 30.78618381155337 18.169674361516847 0 0 0 +2047 3 -1.2 6.400641709204452 30.418904945193226 22.192500259006792 0 0 0 +2050 3 -1.2 9.868115412997371 27.30266638452255 25.405534660562555 0 0 0 +2142 3 -1.2 14.055197769986021 33.21006243272087 20.86508261641097 0 0 0 +2170 3 -1.2 7.400712466438167 27.129026176206004 20.53836083773503 0 0 0 +2232 3 -1.2 9.853884793813041 29.599740486923253 26.190264301214803 0 0 0 +2313 3 -1.2 9.310883487639675 26.80314647453513 22.975879087704495 0 0 0 +2357 3 -1.2 13.703674650840295 32.27671851506618 18.564378996238958 0 0 0 +2476 3 -1.2 13.562044743493134 32.609213157000724 25.253041397083326 0 0 0 +2484 3 -1.2 14.791423610533878 28.29128557929017 20.305701711803394 0 0 0 +2489 3 -1.2 8.346913286968523 31.855341278376166 23.451364725073898 0 0 0 +2558 3 -1.2 6.5185020091693096 32.59513649736243 19.582683734267604 0 0 0 +2652 3 -1.2 11.580587188499353 28.819385055596484 24.485976695405217 0 0 0 +2666 3 -1.2 12.033254118979393 27.806408079969028 22.32169578387812 0 0 0 +2773 3 -1.2 11.358374741780128 32.18478860094489 20.635314231974295 0 0 0 +2798 3 -1.2 7.296470879173948 27.33343276638428 24.413382525748226 0 0 0 +2959 3 -1.2 10.60092100909482 31.562615861027272 24.05430791308166 0 0 0 +989 2 0.6 18.783586456876705 33.66002194196101 30.006891382506613 0 -1 0 +192 1 3 16.7974830506818 30.681432229014632 22.5532709692856 0 0 0 +255 1 3 15.540965483051778 28.29012943206856 23.79727139789344 0 0 0 +365 1 3 16.045878103594813 29.061152897033715 20.185709002111196 0 0 0 +625 2 0.6 15.575864673803329 31.402988107325772 17.502792889325846 0 0 0 +666 2 0.6 16.777267027761486 25.877402007378844 21.40586409044202 0 0 0 +698 2 0.6 18.59893287328156 27.25397598869663 19.147069082898465 0 0 0 +772 2 0.6 15.623689549200627 32.42595399502328 25.492753172313247 0 0 0 +1066 2 0.6 19.13312396630547 29.411274300197785 20.97277770049768 0 0 0 +1145 2 0.6 18.08831738304429 30.028278656883938 17.621610104714573 0 0 0 +1172 2 0.6 19.624821540884387 30.292660842022883 24.845419121423213 0 0 0 +1364 3 -1.2 17.255862843053972 28.306360354787937 20.715378204190017 0 0 0 +1375 3 -1.2 15.665296850302797 28.333621143798652 25.36053021709244 0 0 0 +1397 3 -1.2 16.407328443031904 29.63299329531377 18.871877042520595 0 0 0 +1477 3 -1.2 18.392931661668296 32.58710214703114 26.183246523664035 0 0 0 +1558 3 -1.2 16.163371032712554 31.714964233618876 23.424026442091655 0 0 0 +1635 3 -1.2 18.188637152161977 31.081624405058193 22.228429651837715 0 0 0 +1781 3 -1.2 16.429038352707284 32.59976304564609 19.633094184986717 0 0 0 +2017 3 -1.2 18.878775789810017 32.339404043263926 19.402608416411276 0 0 0 +2020 3 -1.2 17.470956864015577 28.073879353533886 26.985203212773737 0 0 0 +2179 3 -1.2 16.985048995206363 30.425744270658733 26.396750699964784 0 0 0 +1789 3 -1.2 24.253068865834273 31.951060508136212 33.10819336852734 0 0 -1 +2664 3 -1.2 20.77241130125732 30.81222068972909 20.09911057890499 0 0 0 +2818 3 -1.2 16.63937890841009 29.347197037708014 23.429267425475647 0 0 0 +1 1 3 20.429625559394317 32.13363799348943 19.53417571318246 0 0 0 +233 1 3 22.15229523621067 26.927965321250774 25.622391725058943 0 0 0 +324 1 3 26.47926235838291 26.22456707006068 22.399435239795196 0 0 0 +328 1 3 25.245988053791127 31.316494074928723 18.47828737617018 0 0 0 +379 1 3 24.55736211876576 30.381758151118365 24.956786217858618 0 0 0 +534 1 3 24.69465849179944 28.65167636872479 19.407194095816095 0 0 0 +551 1 3 21.51411341669183 25.50170105360033 21.666408338115502 0 0 0 +594 1 3 20.085331622195362 27.454510179079765 23.427740671291136 0 0 0 +647 2 0.6 21.70735090830651 29.305765178201668 17.566419876877497 0 0 0 +677 2 0.6 20.901284742737865 30.953064309403068 22.778510345328908 0 0 0 +721 2 0.6 23.736849135127216 27.77875285474227 22.1877304213088 0 0 0 +857 2 0.6 21.34240527055265 28.614078840320182 20.34062756049048 0 0 0 +1116 2 0.6 24.557371482271325 31.358410611931866 21.625527984521806 0 0 0 +1274 3 -1.2 21.21199349655398 27.53496330495191 24.56698358936813 0 0 0 +1297 3 -1.2 25.76586293044749 27.76279102877876 18.909724174169593 0 0 0 +1326 3 -1.2 20.713988581461624 26.81106670678632 22.137551923939036 0 0 0 +1408 3 -1.2 25.733779135712858 31.340587733147284 25.0670642673981 0 0 0 +1612 3 -1.2 22.585363039657814 32.71179136873913 24.741530906710206 0 0 0 +1749 3 -1.2 23.364579925375956 28.097834719852166 19.778782163279104 0 0 0 +1760 3 -1.2 20.91047298995289 32.305904888953314 18.031438886883684 0 0 0 +2287 3 -1.2 19.75386365056283 28.85033111185811 23.110692133439297 0 0 0 +2315 3 -1.2 21.706453973576014 30.13325682997314 25.71938125638758 0 0 0 +2323 3 -1.2 20.883059894501972 27.188263713562314 18.592244978902194 0 0 0 +2467 3 -1.2 24.49412216583906 32.15864743023432 19.430063901094396 0 0 0 +2797 3 -1.2 25.102672453777174 29.400677035939786 20.654266859912877 0 0 0 +2826 3 -1.2 24.11751563414074 29.656892912504798 23.811035269443394 0 0 0 +2847 3 -1.2 23.49125493918403 26.755548425770264 24.942946013742514 0 0 0 +2920 3 -1.2 24.528245775727985 29.897225293730433 18.417292976704438 0 0 0 +151 1 3 30.126583781160143 29.092846972416393 22.226680579322206 0 0 0 +1313 3 -1.2 9.902853650143008 34.14952406326882 20.795746153236845 0 -1 0 +514 1 3 29.722627391834706 29.889431289701754 25.14264344135311 0 0 0 +524 1 3 27.187130402447472 29.06550957995981 22.476231291699914 0 0 0 +688 2 0.6 30.23562044113173 26.059694524775818 20.24796209704378 0 0 0 +770 2 0.6 30.512186533425197 33.00439038248371 22.49972876015713 0 0 0 +881 2 0.6 29.895281819141275 26.06649141303697 23.318004976905492 0 0 0 +919 2 0.6 27.493843529448554 27.11515682500524 17.515656937262285 0 0 0 +945 2 0.6 27.136908080027016 32.356613956804864 21.31842043756993 0 0 0 +1021 2 0.6 27.929260679928753 29.265524240313372 19.100457677427585 0 0 0 +1151 2 0.6 31.696266012259922 32.85244555639354 19.79242530725622 0 0 0 +1154 2 0.6 28.466542160098296 32.89750873236778 18.641825960726063 0 0 0 +1551 3 -1.2 29.94660979699794 30.754614007554956 18.540350285558418 0 0 0 +1761 3 -1.2 26.686329449643562 27.708728142059922 21.87223735284747 0 0 0 +2447 3 -1.2 30.43028697781129 27.683957025732784 22.005531716545338 0 0 0 +2512 3 -1.2 30.351231469433614 29.44375145887561 23.807211418748402 0 0 0 +2540 3 -1.2 27.465942711902827 28.531880750718578 23.851493836401783 0 0 0 +2672 3 -1.2 26.64857297117419 31.11894486807359 18.965556481456233 0 0 0 +2718 3 -1.2 30.98295728433116 30.118037538979124 21.52577786367783 0 0 0 +2728 3 -1.2 28.09570415686654 32.48126915745298 26.03294310413901 0 0 0 +2738 3 -1.2 28.64321672945263 29.32299297961528 21.853032441742254 0 0 0 +2844 3 -1.2 28.426629816352687 30.67909591594644 24.679092189643168 0 0 0 +2879 3 -1.2 26.591942848164855 30.412657549519167 22.59486855442752 0 0 0 +2915 3 -1.2 29.652393477938837 28.620923133889182 25.9879032551906 0 0 0 +56 1 3 5.062814771224198 23.9803966401609 29.00034508621962 0 0 0 +73 1 3 33.51931826927803 20.545945123279477 30.01455981969234 -1 0 0 +85 1 3 5.1123338350823975 19.745921553827298 28.80075811768067 0 0 0 +139 1 3 34.15330119900013 25.8884599682941 29.573651272745536 -1 0 0 +216 1 3 33.90893666000967 17.996842984475283 28.525796895046795 -1 0 0 +223 1 3 33.690582296338256 21.7298557443557 27.253892264900845 -1 0 0 +260 1 3 3.030249399873095 24.053583649960153 32.12864055906876 0 0 0 +339 1 3 5.187228147672384 19.383363707986998 32.79587557895108 0 0 0 +405 1 3 0.7183788911806179 19.51117351345996 26.127511328936812 0 0 0 +1640 3 -1.2 14.512217363966132 17.709975478014776 33.61928807801052 0 0 -1 +536 1 3 2.4890224401388505 25.310908784434933 28.358450511464426 0 0 0 +784 2 0.6 0.9183660911146063 22.936674482808105 30.029350753418772 0 0 0 +880 2 0.6 2.7326928016716114 21.436813957742636 29.26061495940404 0 0 0 +994 2 0.6 2.8253089941208356 20.96948576801095 31.586761281299186 0 0 0 +1028 2 0.6 2.859439164939645 17.87019333449566 30.579032003836126 0 0 0 +1084 2 0.6 2.952309681221388 22.313547907879112 26.63111063486972 0 0 0 +1147 2 0.6 1.813299227908711 19.218090893779134 32.714634181083504 0 0 0 +1231 3 -1.2 4.294619056097766 22.906391885849377 28.3154564684947 0 0 0 +1562 3 -1.2 4.768913139612112 20.79668823462223 32.66723639397746 0 0 0 +1681 3 -1.2 0.842803011360492 17.78321718400588 29.215547299029552 0 0 0 +1827 3 -1.2 1.1577682730033616 25.08331527645153 29.241268048758148 0 0 0 +1835 3 -1.2 4.287293683644166 20.11515143620788 29.9846484455356 0 0 0 +1855 3 -1.2 33.1987144213731 19.196038768520864 29.24669935791584 -1 0 0 +1906 3 -1.2 3.8287114696354596 25.07833355144474 29.0991709171214 0 0 0 +1973 3 -1.2 4.5484580558539935 24.256082118450987 32.43413174573001 0 0 0 +1979 3 -1.2 2.267783858464109 24.50542297616328 27.16753238985001 0 0 0 +2113 3 -1.2 33.547142988858575 25.479513106379382 30.847845933131733 -1 0 0 +2359 3 -1.2 4.178373757162765 19.25080926572018 27.794984945840927 0 0 0 +2365 3 -1.2 33.28609014217299 25.858590225157155 28.38912171091642 -1 0 0 +2441 3 -1.2 0.6161472354369302 20.625268766507574 30.39208866152199 0 0 0 +2495 3 -1.2 2.894214296372652 23.17035813815196 30.907677610370023 0 0 0 +2513 3 -1.2 2.3307036573009117 25.32134849958432 31.80696762789223 0 0 0 +2572 3 -1.2 3.984455850607295 18.48354696705779 32.85081363957089 0 0 0 +2615 3 -1.2 32.66721506271913 20.947644421760288 26.549517063876998 -1 0 0 +2896 3 -1.2 33.445863788197755 21.6597961816465 28.81573294620208 -1 0 0 +2923 3 -1.2 32.52972416908695 20.895015537369304 31.040669720828394 -1 0 0 +42 1 3 7.285978918732321 19.342476938782365 30.677228155056685 0 0 0 +136 1 3 10.054145402991093 18.447887673141388 30.94675438679345 0 0 0 +147 1 3 13.579152633799309 19.906887907911035 31.870920043593358 0 0 0 +164 1 3 14.242046373976757 25.971353086985356 29.293931452144623 0 0 0 +261 1 3 9.287841635391619 23.265897339363455 28.84107141387086 0 0 0 +262 1 3 12.88052491836046 24.63441605095089 31.62347449078708 0 0 0 +537 1 3 9.718140047175318 19.78255827635783 33.51684241196428 0 0 0 +538 1 3 6.005482910789704 24.112073551406542 31.785243605506288 0 0 0 +555 1 3 7.754141038123453 20.842101874903854 28.049673349170792 0 0 0 +630 2 0.6 10.747913712279951 26.324816841125195 30.172784521180542 0 0 0 +780 2 0.6 7.738028214106852 17.7971208524547 27.287563981394015 0 0 0 +799 2 0.6 11.973971157229157 19.122314134731443 28.06942159637689 0 0 0 +892 2 0.6 12.930426589253141 22.307535189634905 29.381495291045344 0 0 0 +901 2 0.6 14.888558946273788 23.939441877451618 26.866680690983145 0 0 0 +1977 3 -1.2 10.783953330945778 17.401170788089036 31.83442534085652 0 0 0 +1090 2 0.6 8.940165968748877 24.8535148852573 31.995950830844286 0 0 0 +1124 2 0.6 9.164915563970483 22.542727574035553 32.24962786655672 0 0 0 +1195 2 0.6 9.622996168187063 25.323415773901264 26.46860252681469 0 0 0 +1301 3 -1.2 14.587636930749353 19.14543786433231 30.941935390702852 0 0 0 +1365 3 -1.2 13.36136444352932 25.76129078690726 30.5825827736979 0 0 0 +1563 3 -1.2 6.888513265095686 23.486740543931038 32.78863350214448 0 0 0 +1687 3 -1.2 11.558115341985781 21.210116713997447 27.38594322584943 0 0 0 +1703 3 -1.2 6.605753281457967 25.411376228247054 31.414589923119724 0 0 0 +1746 3 -1.2 11.656277831188 24.093136605440915 31.003443072213983 0 0 0 +1793 3 -1.2 6.1828739070099505 20.8313435568951 28.2872855431704 0 0 0 +1807 3 -1.2 8.838342639159285 23.445061068964673 30.21473765681734 0 0 0 +1910 3 -1.2 12.595597746196812 18.85169364544782 32.39739410996944 0 0 0 +1919 3 -1.2 10.239829275025329 24.115216900187484 28.208522129738654 0 0 0 +1992 3 -1.2 8.461995143155118 18.315909320259088 30.892169802327306 0 0 0 +2023 3 -1.2 10.838100485598597 18.808834037077222 29.77245193241625 0 0 0 +2059 3 -1.2 12.927859135824392 20.912986180547957 31.02446194162546 0 0 0 +559 1 3 14.191723170121817 21.581544247222737 34.22386773152245 0 0 -1 +2130 3 -1.2 6.204878717020352 24.738394889374035 28.47824267688234 0 0 0 +2273 3 -1.2 8.055892105291647 19.986513499970613 26.898029546563876 0 0 0 +2297 3 -1.2 6.177474195267607 18.694501062915464 31.78977068474682 0 0 0 +2416 3 -1.2 11.306624731251457 18.505194939266637 25.953742844033897 0 0 0 +2440 3 -1.2 13.741296310324957 22.210457764143573 27.17234797179477 0 0 0 +2453 3 -1.2 15.617515554244928 20.92564144832407 29.671933703271456 0 0 0 +2517 3 -1.2 7.2476369746148865 20.634486899807747 31.403231252408705 0 0 0 +2637 3 -1.2 15.128702973949421 24.803400933062434 29.135700286281388 0 0 0 +2638 3 -1.2 14.03750196460705 23.736894477202544 31.76701931569772 0 0 0 +2722 3 -1.2 6.429945448358515 23.128903636889223 26.37489713388213 0 0 0 +2776 3 -1.2 5.570235116561181 23.467196911961388 30.40812580477107 0 0 0 +2814 3 -1.2 6.278960462208635 18.87898422284061 29.455127592492527 0 0 0 +2864 3 -1.2 14.168172504908677 19.186944716380516 28.53308015509865 0 0 0 +2918 3 -1.2 8.492427390721174 22.219976633212198 28.08536309649082 0 0 0 +2947 3 -1.2 10.019138093304557 19.706582390989254 31.953894687892813 0 0 0 +2964 3 -1.2 8.216803190159323 20.155602428805626 29.350813991636667 0 0 0 +39 1 3 19.01897648831991 17.58738877592785 30.99836290344355 0 0 0 +66 1 3 18.246585676482912 23.7077253426338 32.31583989275895 0 0 0 +106 1 3 17.938652581511498 24.10861845087755 26.7529602531946 0 0 0 +377 1 3 15.229244564200673 19.491859474762958 29.51295602549495 0 0 0 +528 1 3 19.01167369256002 18.66313034295453 27.126544192972457 0 0 0 +657 2 0.6 15.757582050076628 22.31032589568199 31.713418871348104 0 0 0 +746 2 0.6 17.1832518739758 24.83169607578171 30.000894318243866 0 0 0 +805 2 0.6 18.129346989803924 20.5557322478711 32.91776951566642 0 0 0 +1053 2 0.6 18.247436981098815 20.719161773270564 29.86424685185741 0 0 0 +1061 2 0.6 17.14583887989788 20.90252078476115 26.500800439054633 0 0 0 +1110 2 0.6 16.25549204639191 22.90359411347696 29.358362362670277 0 0 0 +1112 2 0.6 18.5863228097737 26.428723941215566 28.083552498620218 0 0 0 +1283 3 -1.2 17.661618337634458 17.963817371303065 27.389117287807142 0 0 0 +1391 3 -1.2 18.851982490250066 19.97594036036945 27.772055180216473 0 0 0 +2018 3 -1.2 17.9418690321619 23.8458415646597 28.20748377535388 0 0 0 +2115 3 -1.2 17.17172868287696 24.731744905049705 32.25467725956026 0 0 0 +2277 3 -1.2 16.814147058214754 24.976055175323193 26.332514889247943 0 0 0 +2366 3 -1.2 14.41709595483812 20.619017020623176 32.98425020398195 0 0 0 +2516 3 -1.2 16.490016106794823 18.6501650459837 29.322971422074485 0 0 0 +2531 3 -1.2 19.600807103016933 24.560337127331685 32.28117089523565 0 0 0 +2691 3 -1.2 18.685118210633927 18.99409533624604 31.298556204843717 0 0 0 +2827 3 -1.2 16.678876509799657 18.842354779549936 33.2902678481245 0 0 0 +2856 3 -1.2 18.162953957608774 22.87033451961006 31.07029430727399 0 0 0 +2968 3 -1.2 20.52301061131166 24.931055059409736 30.05338550349044 0 0 0 +204 1 3 26.749394201402 19.863339595182403 28.598270855495887 0 0 0 +310 1 3 20.730119696875942 24.32603479345907 25.994009931506145 0 0 0 +374 1 3 21.486785645288204 20.33294201969886 31.332803988252376 0 0 0 +389 1 3 20.44890164332875 25.47928957968169 31.401802437069183 0 0 0 +421 1 3 25.442582166783534 25.91678171986935 30.719657057568647 0 0 0 +465 1 3 23.49649665434828 22.280710539454 34.08039415972193 0 0 0 +468 1 3 22.299793957221613 22.116098689356544 27.358281034597077 0 0 0 +968 2 0.6 26.28939113926683 23.484531201942357 32.21893564614822 0 0 0 +974 2 0.6 22.88967654202907 23.317535591566436 30.98855441898369 0 0 0 +1173 2 0.6 24.59635847623816 22.260057265875545 29.802944946779125 0 0 0 +1182 2 0.6 25.090843230652904 20.15259817211073 31.768349604606975 0 0 0 +1197 2 0.6 19.786646525988232 22.636200891455193 29.31493680249891 0 0 0 +1208 3 -1.2 20.61573652022825 20.599962439864782 30.20181852640912 0 0 0 +1348 3 -1.2 22.857692966727857 20.857758610467187 31.142872920894902 0 0 0 +1373 3 -1.2 26.32230281816681 18.275397504736183 28.084544219467276 0 0 0 +1447 3 -1.2 25.605722368643008 20.248617561762924 29.422025307683416 0 0 0 +69 1 3 14.910116731215256 30.825027148635975 33.89283485998417 0 0 -1 +1886 3 -1.2 21.735356421070904 19.092352151757563 32.42016362644176 0 0 0 +1951 3 -1.2 21.846287347731106 25.80267680555297 32.11910578333631 0 0 0 +1967 3 -1.2 23.471522130689824 22.222987092980546 26.484846989775903 0 0 0 +1985 3 -1.2 24.878773816485165 24.52838813702854 30.649765622191772 0 0 0 +2056 3 -1.2 21.725436481942697 20.63320762641307 27.085171907256946 0 0 0 +2069 3 -1.2 25.459115885040415 17.792795428596996 32.18786771229647 0 0 0 +2291 3 -1.2 22.46181662781471 22.588495716648232 28.7349412545023 0 0 0 +2560 3 -1.2 19.82518144516487 17.390394991155787 27.67223726931699 0 0 0 +2609 3 -1.2 21.094621012586323 23.05008850094262 26.759049928520405 0 0 0 +2612 3 -1.2 25.5389525544741 27.196056486743966 26.00576564932363 0 0 0 +2687 3 -1.2 20.378529223829926 17.46827082047477 30.444304142483524 0 0 0 +2768 3 -1.2 25.876584551666646 23.57816350049934 27.6284286718385 0 0 0 +2889 3 -1.2 20.893833383085564 20.906205660739836 32.70319956828821 0 0 0 +103 1 3 27.28085566786133 17.329089133657774 28.898767485084964 0 0 0 +155 1 3 28.42328861631187 21.92961199699212 30.28794738063144 0 0 0 +265 1 3 29.60935060885451 19.800469655483447 31.852796324759176 0 0 0 +278 1 3 29.367510197666252 25.23559962453869 32.999467037733574 0 0 0 +511 1 3 27.84448564750646 21.691631592817394 26.617707103933 0 0 0 +1011 2 0.6 31.888650288412293 22.47599215609881 32.748018050217674 0 0 0 +1032 2 0.6 31.013046215758845 23.512876474727534 28.813334566692713 0 0 0 +1094 2 0.6 27.611517941161356 24.485553105113375 28.714086239921993 0 0 0 +1385 3 -1.2 29.062070040601842 23.227043236974293 29.99253999550057 0 0 0 +1644 3 -1.2 26.454870725768167 26.18259174268582 29.614130948785704 0 0 0 +1831 3 -1.2 28.978344832745137 20.725702157929295 26.003578671860286 0 0 0 +1864 3 -1.2 27.834720706485673 18.81885909245883 29.242088729191046 0 0 0 +1895 3 -1.2 28.69056941751706 22.78608490460375 27.147899256061805 0 0 0 +2026 3 -1.2 28.1976357750066 19.44912461949189 32.45712086517495 0 0 0 +2145 3 -1.2 29.554344565064707 20.930787354055433 30.863966896518082 0 0 0 +2209 3 -1.2 29.50358187524123 25.843586996499376 31.612212432439076 0 0 0 +2246 3 -1.2 27.383195725535714 21.887828298921875 31.319340461504442 0 0 0 +2247 3 -1.2 30.349183326375073 18.734393108058065 26.7125378259523 0 0 0 +2332 3 -1.2 26.94840435387362 20.53887570068314 27.175161574749918 0 0 0 +2392 3 -1.2 27.87399569513973 21.190349555544746 29.051254029398006 0 0 0 +2457 3 -1.2 30.204511851815642 18.489379037522706 31.334771139334862 0 0 0 +2566 3 -1.2 30.312489190517965 27.088704381957587 27.82799172413276 0 0 0 +1884 3 -1.2 6.386703004609487 22.954059006776212 18.121380683128077 0 0 0 +2808 3 -1.2 26.172456857484008 26.11588081663611 32.03009891886017 0 0 0 +35 1 3 5.4378259441220385 28.635006071630496 27.928424951764736 0 0 0 +48 1 3 0.40354470246208507 31.25630026489363 31.52090693059358 0 0 0 +82 1 3 1.7844416213468883 28.00584501595894 29.26964827780836 0 0 0 +108 1 3 0.33410764859725683 30.69802286470738 25.844384175593696 0 0 0 +135 1 3 3.411490926440193 31.409504645839164 31.004349121402896 0 0 0 +314 1 3 4.138126689255688 28.606983984468098 30.713811825109843 0 0 0 +604 2 0.6 33.563862343649774 28.25069840761351 27.313725551558896 -1 0 0 +635 2 0.6 33.5782609622456 31.32544538313196 28.428020605693234 -1 0 0 +771 2 0.6 1.9963872916640004 32.059765806011136 28.56057180618883 0 0 0 +872 2 0.6 0.4024311951841696 25.232428408159507 32.9459867225428 0 0 0 +875 2 0.6 3.212588941183427 30.711357442463743 26.44097876658801 0 0 0 +1095 2 0.6 4.973654682746035 31.94683166922409 27.725556768942894 0 0 0 +1220 3 -1.2 3.7337951705734924 29.957926732037706 31.439507582889746 0 0 0 +1232 3 -1.2 1.898223427219323 31.72178338349464 31.16579232648842 0 0 0 +1396 3 -1.2 33.87544406641854 32.56712525159822 31.585708749150715 -1 0 0 +1401 3 -1.2 1.7795442990878467 29.37340274222582 28.78557635503397 0 0 0 +1487 3 -1.2 0.41869791411855106 27.363992743021956 29.649235899270604 0 0 0 +1548 3 -1.2 4.404604981083629 28.74201994805622 29.160159167837833 0 0 0 +1663 3 -1.2 33.2086360290721 30.645443079321538 26.23864576069761 -1 0 0 +1710 3 -1.2 5.267591520452626 28.02736933893409 31.393027501029948 0 0 0 +1920 3 -1.2 4.342439156262358 32.46427157081074 31.67141620228885 0 0 0 +2066 3 -1.2 0.37520271410915096 30.531726993690725 32.807730281308515 0 0 0 +2295 3 -1.2 1.0174865058072668 31.563286665456435 26.869369814873647 0 0 0 +2499 3 -1.2 3.800132060967667 31.43327582054644 29.581206550641973 0 0 0 +2582 3 -1.2 2.306463487471301 26.88620194367533 28.286182619860483 0 0 0 +2867 3 -1.2 34.13617270411941 30.47209051667769 30.425002271783878 -1 0 0 +2887 3 -1.2 2.728618951842007 27.955539924667132 30.52335922826428 0 0 0 +24 1 3 9.577489246394926 30.771536180064388 31.86430843151707 0 0 0 +28 1 3 8.231281497578786 28.32482457938734 29.096649631085672 0 0 0 +65 1 3 8.520175719042848 28.060200862897442 32.11480967610419 0 0 0 +88 1 3 12.138117918801665 31.043784948438176 33.0057612156811 0 0 0 +172 1 3 13.965693529094626 30.20056145099191 27.995170394407765 0 0 0 +294 1 3 14.754971861595887 28.187582804074015 32.41476066299725 0 0 0 +399 1 3 12.693201086526782 29.353540614988272 30.531541383176066 0 0 0 +653 2 0.6 11.327532336431341 27.82254920289581 27.630773511392906 0 0 0 +678 2 0.6 13.407873050281509 32.498476144122336 30.23510822955759 0 0 0 +689 2 0.6 6.534756861772656 31.549478741418692 32.54401158985319 0 0 0 +720 2 0.6 10.68699049466995 30.261334614901493 28.013277549306924 0 0 0 +2240 3 -1.2 27.95801289393829 17.175948563215364 21.889742865923164 0 0 0 +975 2 0.6 6.9532073897204425 25.818444506749664 26.736620274188276 0 0 0 +1052 2 0.6 7.417497135343514 31.303238105682937 29.246829578079623 0 0 0 +1114 2 0.6 10.112369757963956 32.476406059756826 29.17313987111642 0 0 0 +1281 3 -1.2 8.10366767938888 27.93364047563142 30.636411267186336 0 0 0 +1427 3 -1.2 8.880497568962824 29.64009689338898 28.951365827354138 0 0 0 +1433 3 -1.2 13.553781492233089 31.498206023084883 33.50953344229263 0 0 0 +1437 3 -1.2 11.941272980403875 28.414504077435637 29.66124350998598 0 0 0 +1554 3 -1.2 14.668526419172961 31.500012376840044 27.81997528236919 0 0 0 +1627 3 -1.2 8.544365827688644 31.637127430771105 31.273579900420074 0 0 0 +1651 3 -1.2 10.733026672851024 31.603741603822957 32.53743228913392 0 0 0 +1672 3 -1.2 6.2561072970050535 33.235063992811995 28.891279520244133 0 0 0 +1757 3 -1.2 8.780237499018083 27.19752019215209 28.33764722400742 0 0 0 +1838 3 -1.2 12.086689308943724 31.547308124955755 28.844508302595727 0 0 0 +1889 3 -1.2 8.67263344036685 29.578043157996973 32.51147913607513 0 0 0 +1981 3 -1.2 5.309620417072707 27.376626591354526 27.197278124486665 0 0 0 +2183 3 -1.2 13.474219030821503 28.365337251026567 31.553020981514653 0 0 0 +2409 3 -1.2 7.4735686394681675 27.583199427843073 33.19897046219898 0 0 0 +2514 3 -1.2 13.421323583426645 26.169153929798604 28.07512907710118 0 0 0 +2579 3 -1.2 6.742923275515678 28.759263248673882 28.7660343720385 0 0 0 +2617 3 -1.2 12.916316600618236 29.810609182838796 27.020737503070734 0 0 0 +2654 3 -1.2 13.846017107669821 29.800718629343045 29.51442678097018 0 0 0 +2835 3 -1.2 7.8330216816137295 33.06045183643913 27.138788320107682 0 0 0 +2910 3 -1.2 12.700722536179294 30.59861436471634 31.508532722089864 0 0 0 +2962 3 -1.2 10.392853246698673 29.821300526469606 31.052584311063914 0 0 0 +95 1 3 18.094813367944905 31.336816893031987 27.136532165837345 0 0 0 +124 1 3 16.37603976015029 28.987894163544595 26.611903415495384 0 0 0 +508 1 3 16.5123605696535 27.983036490889493 30.083792879445983 0 0 0 +613 2 0.6 17.577259391830598 31.15297428317748 30.494469857984992 0 0 0 +758 2 0.6 15.846817649698037 33.118853266861954 28.891104764282762 0 0 0 +807 2 0.6 19.450540879018178 28.621392182088773 28.291751192338285 0 0 0 +1234 3 -1.2 17.5550812434303 26.942543720434145 29.99286946582158 0 0 0 +1410 3 -1.2 20.023055818591658 27.01574014089765 31.413413063338727 0 0 0 +1534 3 -1.2 15.157796768055883 27.262525170149978 29.558812743494386 0 0 0 +1537 3 -1.2 15.164437948804338 29.146653288099895 27.54585642826198 0 0 0 +1716 3 -1.2 17.68926199600375 31.948278383912 28.399410635047936 0 0 0 +1785 3 -1.2 20.51937693914022 31.717940324451618 32.29822879851375 0 0 0 +1858 3 -1.2 15.99705989615335 28.46587201807628 31.489911832731238 0 0 0 +1943 3 -1.2 16.04768558275259 31.38204055563345 33.05490682686678 0 0 0 +2158 3 -1.2 19.2726788763005 30.457376388231353 27.16141293065472 0 0 0 +2160 3 -1.2 17.02694189294542 29.216661892990672 29.444106436777798 0 0 0 +2796 3 -1.2 15.010419934547496 26.83855198753946 32.9127720961792 0 0 0 +2878 3 -1.2 17.75103500300357 32.918428985157746 32.09123577495 0 0 0 +68 1 3 24.003967054113527 31.593342267776652 31.54317374016656 0 0 0 +99 1 3 21.058223307992996 31.228756034527112 30.89886117357534 0 0 0 +282 1 3 24.998083330456595 26.222500793466196 25.04064738207444 0 0 0 +383 1 3 22.492335298683386 29.61581167949734 26.85448823796848 0 0 0 +460 1 3 22.35917789593926 26.988107708841085 33.049353550692345 0 0 0 +500 1 3 20.892096122835298 28.27600617096763 30.91735079091225 0 0 0 +866 2 0.6 25.31322843718415 28.441730848230026 32.49932497594597 0 0 0 +900 2 0.6 24.263565730084558 33.01540074368455 27.155647680432935 0 0 0 +1004 2 0.6 23.14185349509386 26.837802389250772 28.801847106888335 0 0 0 +1206 3 -1.2 23.98106669204635 32.92625792973866 30.9057904530496 0 0 0 +1494 3 -1.2 21.266297436822487 27.794631642371982 29.58029134766115 0 0 0 +1506 3 -1.2 23.973490886644214 29.95534648654398 26.27216433193969 0 0 0 +1544 3 -1.2 20.659669840685925 32.156288850638965 29.860866313058576 0 0 0 +1587 3 -1.2 25.029577532770634 30.61664486752802 31.15503546320949 0 0 0 +1652 3 -1.2 22.561800172522208 30.97433363504557 31.266937191858034 0 0 0 +1715 3 -1.2 21.922391166345317 28.18325080713488 32.08959116724188 0 0 0 +1804 3 -1.2 22.48867306553968 30.147853460266514 28.211351207005134 0 0 0 +1821 3 -1.2 24.3375861525184 26.941081399500174 30.59664340744477 0 0 0 +1832 3 -1.2 22.32479691283591 28.008277884077774 26.736411597100492 0 0 0 +2256 3 -1.2 20.45459173675879 29.756120311379586 30.74495574121877 0 0 0 +2210 3 -1.2 15.23142751604431 22.627919796235314 34.29889705309525 0 0 -1 +41 1 3 27.244619672513455 31.250597116510754 25.57053494835312 0 0 0 +101 1 3 28.30565734528095 30.151382748734846 31.829109252836695 0 0 0 +198 1 3 27.884004672574488 33.09336068365173 31.657702780548178 0 0 0 +428 1 3 30.554377815951288 27.28018528129299 26.36362904359084 0 0 0 +600 1 3 29.678616163118917 32.694182366134235 25.932354381435935 0 0 0 +789 2 0.6 31.053181736108563 32.05378568619356 31.022261095137267 0 0 0 +954 2 0.6 25.967763046368084 29.52300119574905 29.27485830289994 0 0 0 +1097 2 0.6 27.902579497845572 27.35254586668317 31.133493329918664 0 0 0 +1129 2 0.6 30.253659080422512 29.05267325845398 29.580749068350435 0 0 0 +1161 2 0.6 31.842959675575155 26.283521703085185 32.092010910850185 0 0 0 +1162 2 0.6 29.892304252784886 25.654197185263133 29.494618371284716 0 0 0 +1167 2 0.6 32.36026560254228 31.439403165786477 33.67193851169547 0 0 0 +1174 2 0.6 27.35523821945234 26.988316512977377 27.352692936099224 0 0 0 +1759 3 -1.2 27.68652475660505 31.6264404029151 32.09397975672502 0 0 0 +1773 3 -1.2 27.125321622059406 30.25451628366027 26.640073032732122 0 0 0 +1974 3 -1.2 27.974197022136682 29.68119145679377 30.44519962035491 0 0 0 +2112 3 -1.2 29.799581034830577 30.20200196658729 31.873619099131226 0 0 0 +2919 3 -1.2 30.15889275240846 31.167156234011653 26.0509168026761 0 0 0 +104 1 3 11.56708316290257 25.09613761479259 34.28542387499927 0 0 -1 +1357 3 -1.2 19.806196211590787 34.27072340920564 27.70477028663223 0 -1 0 +2385 3 -1.2 5.228858933885665 33.67719188212676 17.507618957073625 0 -1 0 +2109 3 -1.2 24.847020823894933 21.987920039299883 17.361837390980373 0 0 0 +2362 3 -1.2 21.350272654465616 26.876273537839396 34.24397953613884 0 0 -1 +121 1 3 13.935559999107541 33.47126201429554 19.401380570346824 0 -1 0 +197 1 3 11.410674623447768 33.75617242891952 20.76238755257348 0 -1 0 +731 2 0.6 18.234612503282783 27.838667904992334 34.210608688110646 0 0 -1 +664 2 0.6 12.161119810104168 33.30804331986568 23.875302937499587 0 -1 0 +960 2 0.6 9.594826493049219 33.887315755894086 25.105474036167948 0 -1 0 +1111 2 0.6 12.935409836803062 32.797822580728834 27.264268044514054 0 -1 0 +1438 3 -1.2 12.297468623458593 34.037561948706205 19.541835781332306 0 -1 0 +1706 3 -1.2 5.068279688889488 26.845375962605722 34.02894632310891 0 0 -1 +1878 3 -1.2 12.647882679077654 18.639351296327327 17.537241950200364 0 0 0 +340 1 3 17.65180911872046 33.39543444027544 19.725278500436055 0 -1 0 +357 1 3 18.944257417375898 34.085988439576035 26.361539883313025 0 -1 0 +806 2 0.6 18.39822968655497 33.71499372023323 23.08814877718653 0 -1 0 +1682 3 -1.2 8.593031281859455 33.8338003831565 33.855695029417866 0 0 -1 +1446 3 -1.2 20.785536866299836 33.242972234869924 20.590415462976704 0 -1 0 +2554 3 -1.2 4.472099360449758 28.86206446500614 17.364661435700782 0 0 0 +2373 3 -1.2 6.11192988870178 34.30234656597993 31.488116385694337 0 -1 -1 +2111 3 -1.2 7.165466325472427 32.353452650579605 17.305011379365467 0 0 0 +2275 3 -1.2 33.5597431391052 22.44089713245788 34.18003151915722 -1 0 -1 +2694 3 -1.2 28.562308549373064 24.97594829907748 17.20239048476152 0 0 0 +2399 3 -1.2 30.163439147126848 33.15524331285155 24.644149032624078 0 -1 0 +1455 3 -1.2 8.501337170475972 34.07282513935247 29.35559699981984 0 -1 0 +234 1 3 33.86900928169079 34.00379284622691 32.323281042542646 -1 -1 0 +1808 3 -1.2 2.2695726629781516 23.1415589492344 33.17079144610138 0 0 -1 +251 1 3 7.458414888201889 33.91215328295214 28.325315004886416 0 -1 0 +349 1 3 4.699061945518513 33.976178640122455 31.33843158932629 0 -1 0 +796 2 0.6 5.939233566619419 33.25626250641655 25.62558843841134 0 -1 0 +2552 3 -1.2 30.10086356271143 32.35847710609882 33.983091829174604 0 0 -1 +1229 3 -1.2 15.850208441372686 33.6733204915767 33.586229855903646 0 -1 -1 +33 1 3 16.298583199405865 32.907001008986335 32.39342735829258 0 -1 0 +1668 3 -1.2 33.234903621301335 33.64188256516464 33.628655019016016 -1 0 -1 +158 1 3 21.875930136943595 33.833211698179454 25.379447077641217 0 -1 0 +2400 3 -1.2 17.875371915094064 34.025983134917496 21.031393182638272 0 -1 0 +1685 3 -1.2 15.445473955927982 32.78648378910371 31.17913543071298 0 -1 0 +804 2 0.6 19.685737790968826 34.036925856103075 32.27897454085586 0 -1 0 +1353 3 -1.2 27.650553064225534 29.277430098895945 32.84531201512487 0 0 -1 +2544 3 -1.2 19.40523515843861 29.792981748344697 33.25990872136978 0 0 -1 +22 1 3 20.242886535067235 30.94615805029593 33.67637375068205 0 0 -1 +1018 2 0.6 0.30403145133282017 28.04593294325651 33.898112798471125 0 0 -1 +1718 3 -1.2 29.021706445534964 33.08009133011165 30.729991787389086 0 -1 0 +2653 3 -1.2 26.62241849158856 33.699911548417674 30.918818094343695 0 -1 0 +2868 3 -1.2 29.855526050650404 33.97530473333052 26.85445577382759 0 -1 0 +2006 3 -1.2 23.717510731781537 27.086055676507684 33.535734490582136 0 0 -1 +2328 3 -1.2 20.279908594793074 33.72710809477708 25.41233714429977 0 -1 0 +1546 3 -1.2 0.17704332974644446 17.838838514056796 32.84139891179603 0 0 -1 +1916 3 -1.2 12.465134408840337 25.30200446553804 33.003566163026505 0 0 -1 +332 1 3 1.8466997652927999 19.689164720122598 17.738069562692164 0 0 0 +1015 2 0.6 8.426738888861683 34.0620529807857 31.615367234805042 0 -1 0 +1153 2 0.6 6.855682335738527 21.627929018536523 33.971924677715144 0 0 -1 +1636 3 -1.2 10.314036310473009 24.426161388883507 33.871187721060416 0 0 -1 +1653 3 -1.2 10.962309410813132 19.661852691990315 34.29465332001776 0 0 -1 +1770 3 -1.2 8.901719042863208 18.529726830698273 33.705411218861805 0 0 -1 +2486 3 -1.2 1.4198841158830184 34.247971981230165 29.472581247538916 0 -1 0 +2841 3 -1.2 9.015390726100787 21.04190499136452 33.83168209528647 0 0 -1 +2335 3 -1.2 1.399710698024451 21.113318142772282 17.657544627508 0 0 0 +305 1 3 15.953834929889657 17.557448997426206 33.451839814841385 0 0 -1 +436 1 3 21.63820161661879 19.832047714915404 33.796567682647435 0 0 -1 +1661 3 -1.2 29.161759260213003 26.406779227583048 33.93255265719385 0 0 -1 +633 2 0.6 15.299236015026862 24.74668291739524 33.6225565663343 0 0 -1 +2071 3 -1.2 11.704141536050303 29.73605256040667 33.56356896485159 0 0 -1 +1670 3 -1.2 9.710044430756625 27.2220620136525 32.34255639183257 0 0 -1 +1883 3 -1.2 5.682586886412662 29.3235119204162 33.777458258057415 0 0 -1 +2709 3 -1.2 18.171029949092127 22.801282204779955 33.47660144061498 0 0 -1 +1667 3 -1.2 21.595697030653596 30.739994521826453 34.21080271534359 0 0 -1 +1473 3 -1.2 22.934072072854793 20.766057946471268 33.996334432268156 0 0 -1 +1367 3 -1.2 12.702563352200938 33.91285341700243 31.803377513941175 0 -1 0 +2534 3 -1.2 22.418453499538828 23.12950388187328 33.49027277943619 0 0 -1 +2890 3 -1.2 24.76201986619286 22.35652665133654 33.29663690413609 0 0 -1 +238 1 3 28.405914984138658 19.754126737840178 34.003334792322995 0 0 -1 +1511 3 -1.2 29.88002139167545 20.084608027022924 33.357290959798924 0 0 -1 +959 2 0.6 7.096093254489137 33.673423284997575 23.76058036605051 0 -1 0 +2161 3 -1.2 28.279363686538346 24.23143644583978 33.18781359401508 0 0 -1 +2805 3 -1.2 30.71842946004303 24.597040626946416 33.30428222135357 0 0 -1 +661 2 0.6 3.421493796505887 29.947819494859825 33.97908471707138 0 0 -1 +1896 3 -1.2 10.561593469686441 34.10499025265973 27.3614370699776 0 -1 0 +375 1 3 5.224656670463271 17.426043482911233 25.39408370389685 0 0 0 +2679 3 -1.2 22.101466988074794 33.95690895099397 26.91878608156411 0 0 0 +1583 3 -1.2 5.9613408827543735 19.286802462504024 34.16995256208061 0 0 -1 +496 1 3 30.125865938169714 30.04269438962636 17.217808946534966 0 0 0 +331 1 3 12.287448105569322 17.306090698451357 32.62556565238202 0 0 -1 +499 1 3 8.491509694657099 33.1522187971544 17.475626266348527 0 -1 0 +1595 3 -1.2 3.9079040572850428 34.23599371196148 29.961138887380294 0 -1 0 +1972 3 -1.2 22.911775545911496 33.96008405548226 33.44799501327432 0 -1 -1 +1290 3 -1.2 27.27102834431296 33.895869062299674 23.224007440382554 0 -1 0 +2892 3 -1.2 27.667619691278315 33.954693961843695 33.03681972939866 0 -1 -1 +723 2 0.6 18.683722598085268 17.22824250883071 18.837125755611094 0 0 0 +2520 3 -1.2 25.320373801055684 34.043120645271124 34.091131224227844 0 -1 -1 +2786 3 -1.2 11.91358867497534 34.30053717766199 22.014181864087526 0 -1 0 + +Velocities + +8 -4.906937371491656 -0.9692017044987202 9.2982584269095 +17 8.283401704991448 3.0124777353239613 1.0430409686638944 +34 -9.346485256217596 1.889903417184633 6.827404836783306 +122 13.080740890058186 13.662551707079936 14.225893491088785 +2961 -14.913707403493136 -12.675235364215089 15.918125204535135 +1707 -3.1820793583934694 -19.299243123467306 -5.596178928674329 +318 -9.5266248745913 -11.68781276069103 -0.8791213479480671 +2958 -1.3461353882989202 -7.497702223954132 -12.98551973215651 +458 8.614872977431984 -3.3116432364194464 -8.73055724590433 +582 -2.06263412890504 1.3012080392320102 -0.23444521686995343 +2928 -17.474910611306743 14.314257981185605 8.289528385024994 +2807 -1.2117592027804132 16.960561158736724 0.6264138114928075 +782 -4.064007958308133 -0.8706443455211429 -14.134209003087703 +2651 -1.2309297830731438 8.30479875801477 7.727533630149389 +2619 7.426149148221799 -15.862414292712579 -13.329292153035455 +1081 13.07860754974467 -1.2045631213212127 -2.612235566836085 +2596 -13.867370438958972 14.636015125817625 7.424743224039422 +584 2.812258501467079 -8.527177152371458 -5.855992297550492 +2592 10.937770260415009 18.454646875074943 -11.00242060106704 +1418 -17.985167919344978 -17.501397433997237 -7.024079326375344 +1468 -2.825569117306523 15.228947819889088 17.816799093280963 +289 13.138418140540105 -2.8531867705476164 6.548423509456814 +2450 -4.681072808551039 -11.768645867871276 6.882009591047051 +1547 2.14685837489391 -11.899337698706637 5.153672795586491 +1576 -2.740258972814682 -1.1052888845576188 -3.7693954460531804 +1664 -13.733827542684422 -14.103836387015452 -8.449450691768478 +1686 -12.303583083249961 -1.3080435538794966 -1.6741589399393544 +1704 17.06078477167367 7.082262474410307 -2.295956971988685 +1932 -15.682419614646438 1.276080674598199 3.8327388643807354 +569 -4.628225020898561 7.379283390143609 -13.149483471761528 +191 5.229066446755509 -8.204278572164906 12.74961189591163 +2086 10.011376137135505 8.178578159644173 2.7611557251466343 +2157 -13.675184862330557 -8.321871989697048 9.523218056630316 +6 2.2194798216452276 0.2884000487500194 -8.728011371809654 +2225 -10.957161721693213 13.621755855030218 9.733998094545727 +2398 -13.382281448248156 15.377986943142224 14.36389897508097 +2088 6.465491648805453 -14.107707154076227 4.880612462608531 +2317 -2.8709040089235645 -2.0471467121157905 0.4072160337574496 +2318 -1.1093412968529164 13.805312896561457 -1.471588109650163 +2333 9.92352440387252 -18.203667612541945 -12.97917583460034 +2891 16.984311457213984 15.165011239718403 1.4463056194017725 +2541 10.568410012230956 3.1145220850850532 18.41573786494483 +2548 12.373531916654766 6.39889869766154 -4.035339074962509 +2656 -6.041728436026699 8.417405430853727 19.04280055923228 +1363 -16.702429234591225 -14.674737598242055 -1.2955775390436777 +2906 -10.918834522872867 -8.494397302215996 10.173960908339968 +2916 3.5158801840373006 -9.054041425115747 10.560604708445414 +2998 -11.059228685422807 -16.517732934994633 -14.030370142844722 +11 -9.501529972356671 -12.445199757807622 1.8768715967663412 +2148 -3.444921066358367 -8.068278208181583 -0.3655564046967043 +203 -5.819694635003162 10.148658838974534 -2.608276816283115 +222 -3.555247265703014 13.080303834957718 2.8532982344945226 +225 2.7040384948948 3.5712774236396996 12.680925920667686 +342 -7.5318362690340575 -5.783488286380358 -4.501774576499363 +2124 9.343976498128749 0.39730107979224594 9.953598755895356 +1940 4.1742190389991825 3.21472850217034 17.285019204173643 +505 9.427922693446137 -0.10461914984209345 5.394389944887571 +549 0.8992636533009057 8.188470510546022 9.644377939293438 +2219 -1.8596303110379642 -15.341902770848243 -5.13617782457346 +573 -3.9928091871135134 10.95400475755494 11.963493419581914 +1966 13.642225120454766 8.321295578159935 10.63843180310241 +588 4.834219922076892 3.374747132312193 5.3101086445992 +596 -3.6806859412945925 -10.698966483670864 -0.7511584150401532 +623 5.06710346955251 -8.83652174502126 -6.92425035825292 +649 -15.436623710237477 -0.19088499382386723 -0.2879627566727976 +684 -4.016060041338036 -12.407509397081501 5.159090381412875 +716 -6.891834687580734 11.68444060652071 12.534442744388949 +735 6.887875740210256 -10.47957726734983 6.277274064902867 +2503 -16.072895855398613 -16.223328056266148 -4.288417475713153 +2840 16.46593904202134 3.730840169953399 -9.277191439011668 +815 11.836566133265917 -16.21030778355435 12.011544352242314 +845 13.694457508530652 -15.214676407894265 5.287161037967109 +1001 -1.1551987367858747 7.115108810893529 -14.251323412229324 +1023 14.273797112480771 11.063681033556312 9.420470979826838 +1041 12.354144515563963 -14.379895744148918 8.90458105864647 +1666 -5.132533382301637 3.9798701515888513 -17.483705338846775 +1089 -1.692703393261826 -2.6571911093572433 6.906635884339151 +1135 15.281926258121228 -14.481983779603883 -6.702219251412939 +1082 5.475536198435329 -10.446694182959467 3.112969627495644 +1202 13.1212579522795 -7.529866298137869 -4.8647985246167025 +1273 14.674911585107889 2.173707429514394 0.9319183664904781 +2790 -14.479170770396182 0.6797586297276698 14.861909260019013 +1308 -6.558481012705894 -14.985162315767623 -5.9318028619172996 +1344 -0.4178166402609711 -4.067487765734669 -14.307324439489287 +2496 -8.788171707716138 18.325928434797227 -18.757004866595697 +1599 -2.3433193838492383 7.444545549484206 11.67718707291225 +1453 14.721099677453513 -5.40347596561309 -10.659065810346434 +1645 -14.332517667174532 -3.681957585215882 -1.5503049063824446 +560 5.058999630590357 6.6691223509247735 -5.384646001223826 +2763 -11.144257149022119 4.550714530218634 13.600258626052483 +1888 -10.90699428903104 -5.460699984625873 7.402410951847029 +1915 -8.122075093784098 4.207263083931951 2.5861190287209395 +1998 -11.65840528161114 -14.271983965269227 -12.608173190070575 +2684 18.816154391502067 -2.76653408769428 -18.885453014401055 +2085 12.09091383379653 -1.2074886401865301 3.0523048845063445 +2580 -12.420033858915923 1.154898448366806 5.160236358247142 +2164 -2.737175028783504 11.533535875038991 -9.224003319152159 +2173 5.94399501034554 0.335346467995682 -12.298974826540967 +2188 0.7741647127786205 1.9285782737987263 -3.6864316446289522 +2387 11.37236414587427 -6.421141250064334 12.791362556827957 +2204 19.688808896074676 5.747282186218481 18.292273373759972 +2215 9.536493762494683 -16.985910231253627 -4.888651315158156 +2234 -6.812649580927938 -14.756828031943646 -9.233706727656466 +2302 -18.55608800176783 -10.664692476596565 -16.466042572988453 +2446 -14.010447760753259 0.7098446457420797 11.008286973046445 +2330 -3.0998672474526336 -9.316084574868082 -3.9800850701328003 +2455 -12.575145035945637 -19.05916411157516 -7.469551014667834 +693 -1.7188495636205692 15.646726789337626 5.1295636652176135 +2523 -11.322686390114717 -15.639825010598697 4.391627956923875 +2549 -4.425053129282815 19.114643201438728 -10.0695513943913 +1930 12.919410980196837 9.821037707439789 15.690884555810499 +2957 15.57661880732168 -10.532744342410275 6.376984641555096 +213 -6.8640399572800295 6.808541756609664 -0.14769031703099272 +1498 -5.174302493860307 7.440818488225414 -11.77050893120244 +464 -11.281246849123585 -9.206200678375865 -9.964354781235862 +512 14.307218942269438 7.741623120363307 -7.700325174540903 +1199 -5.798573630496881 11.027101845523456 15.856161943317023 +615 4.658831046958369 -4.532081513289401 14.471431699836597 +619 5.948317567682026 -9.513975374934557 -14.714130804033994 +779 -10.244907765530343 -8.378696743922676 4.203990766174721 +835 15.724206908493825 -3.040443525070138 6.67562887380089 +1045 -7.5469141027988815 -12.412816130542616 14.05652176863953 +1191 8.33115462407806 -13.649341360277573 -6.3263729588315325 +1467 -11.533373221841313 9.91164824898817 10.054376035792458 +1345 -0.41864330451049736 -17.961233807520422 -14.468562367563617 +1351 6.29149540501694 1.0141164225067678 -9.381917927363615 +1406 3.2850212845683973 -8.990330131256933 -16.04831143367508 +1293 17.98292761960366 -14.899831036996035 17.282186845674637 +1137 -14.918879738501152 4.422588734754307 16.385565384696125 +2401 -11.751551571715192 -12.060778848028752 -3.8691663655709196 +1905 -11.571894626076807 -10.429231578588327 -17.57000956101481 +2267 -2.250270114324731 3.602715551834568 -7.051406680109752 +1995 -7.688561648187334 0.3655447621525599 -14.265538373055069 +2008 -11.194717194730162 18.715222907948444 18.073458367396842 +2015 15.261296850113947 -19.09083185869706 8.99293912115023 +2356 3.876358924540825 13.786674067887539 -1.1902010529602642 +2381 -15.577328751600998 3.8522001212418995 -7.61766389799763 +917 -1.9602924693985777 12.007436995786316 13.615320159704025 +2473 6.286966463923035 3.2822486020538966 15.497683347460658 +910 -15.102733024959072 -12.184975827696274 -14.747734573976125 +2673 12.212249219678698 0.03916811658545903 -12.65466028319774 +2734 18.41782780611381 4.565405172475413 -13.845274971064638 +2922 16.438303562168713 9.57760115567223 0.32710652814159774 +2951 12.626157390444808 19.42879886761651 18.079705353877507 +38 4.031455883693432 4.028143442915346 1.2292707339425826 +63 -9.403753230778538 -2.884151624991841 -6.84499450919499 +868 2.504674329420785 -15.082486615098917 3.6797934043604035 +285 -3.430627889621083 -5.0788866287031835 6.970838076826451 +1654 -4.998036760589673 -8.730717934693876 -3.171629334904263 +703 3.29118396668342 -5.358703121346137 -15.496240475964944 +372 7.471468624124938 -9.595753348481232 6.083002964960533 +2205 -17.43375819000067 0.48859656911156496 15.829007422061649 +629 10.597021286641104 10.743797089316384 -4.741343334358719 +672 -13.178347426357785 -5.28154040716037 6.237388158101003 +660 -0.8644939932089583 -11.39529930003914 15.506075557389948 +719 7.35458699894123 -13.47950522890519 3.5661676400817583 +752 -8.223597549986465 -7.258235505296441 2.9575000698929186 +627 -7.800027074969303 -16.015510445081027 16.380389801236973 +603 11.216418172413064 -9.044914789403855 -10.924823465342548 +1871 11.22464312275204 19.185067768231708 -2.2345344768244026 +934 -1.8938377554949382 -15.444694220989122 -2.505997366151849 +762 14.004702902040094 0.4315168926315569 -2.267528371168284 +1538 0.41933787730041383 -4.306614603496641 3.5692382523557775 +1626 0.8464035242576065 1.0625830566684997 -17.856671591573267 +1657 7.8966226894500515 13.588856077952947 5.489760770450134 +1741 -7.151553561687264 11.465262916628951 19.103061855304475 +692 16.045463421090723 1.494226941956182 6.738749022017296 +1987 -18.22914275647241 -2.719114932678974 -5.772166120168252 +2087 15.795276328624446 19.493116959862967 1.6692497128563102 +2104 0.36227502998401084 16.463674859767803 -2.427805037732982 +2222 4.416095596211218 -7.640321964866108 -19.221128323289516 +2282 -3.7931532765298788 18.146351299353412 -19.04718219585003 +2309 18.710988353933086 -6.606111751494743 0.24092823561969592 +1758 13.773297824592333 16.450969963774526 19.199143437705242 +1724 3.312281986843722 18.05704471366409 8.504912447304484 +2659 10.64149519868669 16.473551102148758 6.790110369453212 +2699 -8.987809709549516 -5.583049724682331 -10.892496412197513 +891 -8.323547873904912 13.063481978868879 8.689529890719848 +1695 7.6853977731209895 -9.0962811485375 6.111979462269582 +2846 10.917694063459827 -5.421814771467757 -5.3351952305101396 +2151 6.993865688504989 8.651676713471469 -2.055032296896054 +2908 -12.314412083782644 12.654057355338306 10.729681318975553 +2242 -14.665449808604656 5.329769251955718 16.70342767928117 +2940 -3.4098733310328293 -6.916329177872368 -0.9113547637612095 +145 -4.19016121770842 -10.22778438566414 3.0595702424103877 +159 12.57918475249194 6.388230798216201 5.9780067965638075 +531 -6.0028878594229935 1.5859736911412776 -2.822100595867575 +1573 9.333118625030822 13.874140784945467 18.721077360852693 +284 -4.673176140800453 12.435147137187824 4.5748394156478875 +2456 8.097125389936222 12.837801922538246 2.6758390286630593 +656 11.256213717563934 5.880808106870987 2.7533855088515677 +658 -8.313389031902421 -12.372261821577279 9.038887871911156 +1572 11.359331759798351 9.701681406325353 8.513682917888326 +811 -4.143920513799271 -3.4290553534880264 14.45667319858255 +836 16.385526713032192 -4.844564373944003 -6.0839716866704805 +972 -1.462962420251215 0.48311599885991396 14.86524421809316 +998 -9.076232747229774 16.00220220101286 -3.7449330671499497 +1125 -6.424038830209195 -5.782538225825118 -11.186592900975452 +1184 -4.651914151276621 -7.648162305082974 -11.362179398123459 +1461 6.975980685643247 -17.590408377028915 -13.696141108566126 +2753 14.457001501881624 -15.289962121013762 5.583827350758015 +1791 -12.336581669472766 -7.212966186954623 -8.975699714316157 +1543 10.200196636360412 7.049880268178652 2.1586189062339063 +2002 17.56299048490076 -18.039190956475732 7.868402602217279 +2080 4.775925780786471 4.300114041639805 -4.588737671435462 +2423 8.944296972074161 -15.009633439122279 13.905275212796708 +2264 11.538015068514698 -5.0306870729302435 -16.07975807388931 +2429 5.646656226371513 19.66929348384225 -16.00162726977705 +1319 2.806694095332192 -13.665772282023495 -14.194281703311907 +2463 -2.572581915170624 -4.8546062737326965 3.8335411092293157 +2494 14.062823513554594 -16.618597197600934 15.236961418704372 +2698 -3.036990082368745 -10.751180464794594 19.265197534001043 +2825 17.493066132563044 -17.46710352448387 -18.541680721276826 +2834 -10.4707509259648 -2.613717969340057 1.9485809589477026 +163 11.777359050185748 -5.356252364188299 -6.913580821646564 +2966 5.913664818572335 0.08510677697836767 14.768976064777029 +12 3.099457221467548 1.609248953838011 -5.993675382736332 +53 10.883995578429126 -6.3088608800034915 10.468136421036188 +126 -10.835994680116737 9.496114056293882 -12.384303035789365 +209 10.926095500359263 -2.9478210910273543 -6.534941069902131 +2391 8.41866745038278 8.358096856431906 2.0691545617241185 +1253 0.06715751721310897 -5.255518158254775 6.9073803995953185 +426 -9.514820841270831 -10.47688220902552 13.578047629365853 +548 -8.125628983008298 14.157710839177795 -1.5087747362682233 +718 11.126247734895898 12.167852327453064 -4.0439190030901635 +774 4.162072872111417 -16.09216937212784 3.113911611547354 +557 -12.512190195812572 6.172005391934762 5.6133195734118155 +873 -14.044666727108623 -15.83442901558936 -13.598645668100053 +923 12.638153925171407 -14.635180989093893 1.4883984449084964 +1347 3.5236435094628327 3.845101284582482 -9.34874391566854 +976 1.1994086851559234 -13.73312032866613 -8.47578508829603 +1170 -11.433867885875808 -14.03640330748467 -5.192375346958857 +1187 8.393445728887588 -12.991549953638534 -2.0404768562603763 +1404 14.59236826094704 -13.376151707810468 -6.47608988272144 +1421 14.019126473865603 -6.367314374888142 16.020134477886263 +1435 -11.41248171058576 3.698104156168125 -10.769059114515947 +1499 -6.168954299736258 -13.444467026033363 -18.05398865527634 +1533 3.7584093853284415 -8.940102854636834 5.068052699909098 +1539 -2.7405214905001913 -5.517423624927336 -5.319269857198334 +1042 8.883242174178312 12.346350144536675 -12.053927769242069 +1622 12.347118392385816 -6.40995539411558 4.826930625533475 +1722 10.27582541916136 -15.226912085551872 7.054163903878077 +1763 18.409794991245548 -12.863046601203573 -5.18352906883322 +1766 7.259307533401149 1.9281906294967055 -10.201569428656537 +1025 -7.771781682417551 0.9621990541424024 -9.07320066127099 +1813 -13.201364567374844 -1.007756866393464 -10.65571420193986 +1825 18.565675434157093 -18.912954937732145 -19.292388296404553 +1012 -15.269703512040836 -6.61053305692307 1.1577757150017218 +2156 3.758063407313688 -14.754955348601564 -16.95254036967674 +690 14.083467917851884 16.399128732492244 -2.5643639281931074 +2251 16.21560623606858 -9.959214231191206 4.214011089803567 +2281 7.195404570970779 -13.877289482886306 -2.59882251612085 +2303 10.744589018301818 -14.51463838443024 -14.82664849954258 +686 -8.816821164516991 -5.317956989897085 15.405986333835111 +2419 -9.146439160134863 -6.5426907893476285 7.94542958735448 +2498 14.917289232807503 -0.2595152127451602 -15.918487075594864 +2515 -11.16951777825535 11.118567303649721 -7.242764771208339 +2597 10.665225417705907 -15.815906138308364 -15.527192529401557 +621 8.927398038201021 2.4682516516846307 -3.473966155264952 +2736 5.6980821342147445 -17.454992560153524 -10.957816083146913 +2743 0.9179654547632724 -11.17975067901234 -11.391262074254962 +2751 -7.107214682317791 12.001379603741112 15.221030497187865 +2949 -11.56421138460595 1.123940104918138 -5.647348542311667 +2991 12.652312850192542 -11.292660021018179 11.399532881195269 +93 13.786002082463344 8.051470609997965 -11.264942757443663 +113 7.771772817684559 -4.543584522729863 -10.124722392935594 +125 -4.680531669373936 1.4847540972201485 14.258313713498525 +498 4.58753908539273 -1.8214682439828334 -5.150557475718824 +176 14.348473265150746 -3.109320304345654 11.491691282065394 +248 6.976621558030407 11.38380819685397 -3.6330406559790855 +493 -2.992274489809466 10.349789936270696 -2.4171953959647947 +354 7.188547678296896 -4.172616785983542 -0.507128020992491 +356 13.699496824933465 -9.249202589239594 -0.3166286534181401 +459 2.4409411448118514 4.1476605903431825 9.990898975464857 +475 1.9585755120886499 9.554721418508395 -13.267653623689048 +515 -1.2109015553266724 6.775658964000798 10.561092778448211 +452 14.028290778051325 -4.234041569953654 9.360802967867814 +1768 -9.19458261137286 7.363798274088034 -12.87950304895322 +643 15.84824146712953 -10.929230788984368 1.7034874018187305 +651 -3.0779818815089905 -5.551784501963505 8.975017760054548 +307 -5.3946400267599035 -0.7559970200016961 -12.937831456966505 +819 -7.410822483256034 -13.833982064404577 -3.4721660628709383 +842 4.998032622181581 7.342154509769311 8.981311757356767 +888 -3.436289853082656 -11.588221759862394 9.952415357336372 +941 15.985054700962252 -0.22222535285448367 -3.8909734207283644 +943 -11.337565173290095 2.424176207247519 7.755744312781134 +970 -13.78315796238164 -1.9072500938282582 -9.452202090380919 +1166 -2.1905189592901473 0.707047669287659 -14.239596738487561 +1217 -8.28817445371948 -4.72007670955533 -8.323382961037884 +1400 16.31208471586276 4.640670201105761 -3.042661097660364 +1641 -6.055371051616853 14.284100641539728 10.944414397987211 +1442 13.922225034716469 11.117145886456965 8.06049904255704 +2091 5.276216560362665 -13.812606687434235 -12.879711380389544 +1596 -16.32627955341311 -2.8036801941885834 -16.111703705763688 +1603 10.949169594489975 14.078141811001299 -1.619664090118439 +1634 11.28575763780349 -11.874887216863542 -15.030327163954974 +1678 -15.928181192695131 -13.971391487751166 -16.450315383738587 +1714 -15.824712376494618 0.5360092086364845 -10.360234103041455 +1732 -7.925215720467376 -18.584168235996753 19.602547634180418 +1786 -17.05536984472772 10.79185884259039 -11.208709659289118 +1840 3.602821135697277 2.0206979452759946 16.041006550205022 +1868 -13.212620013141093 5.787079002259909 -18.3170457211868 +670 -2.234052294722165 -11.647916036777247 -12.452290068945869 +1956 -3.8786104301955806 -7.183217753645221 -18.503074524412934 +2016 -9.570523066831656 -0.9908024653659926 -0.05425414004430295 +2063 -6.397472751105037 -13.237867085841387 5.2852197799724845 +2102 14.242289849160478 -18.190632744374447 10.132740594529025 +2123 -9.526906603865518 -12.596338269080752 9.378835665685905 +10 1.0761881562888613 -4.101763676243097 7.244342593982432 +2177 -9.695818940084804 9.58467467864771 1.6327394598216265 +2942 13.129027884448787 5.480315953830509 -0.6046211171665804 +2178 -19.26699251912384 -4.965031096822968 -10.004399666138099 +2470 17.27629490960468 -15.789948552361121 -10.38129381053296 +2472 -16.614703595230434 9.588247959732831 -16.69717048738258 +2937 10.286677452043811 10.391114280241611 -5.322686602258104 +2883 -7.495716875488081 -11.513233990777728 -11.64305506183068 +2505 -18.580568779728686 9.010120631650844 -13.41357560589782 +2556 -18.332541307580513 -16.04557022094486 4.617805266666948 +2628 7.755411225246016 -8.170868455217557 -0.10684515262372103 +2660 4.892978080395476 11.946984950116907 2.4496062003716457 +2689 -1.2925944099208033 -9.073997788149693 -11.301808223882352 +1649 14.55765418443174 -8.92029711441007 -14.794074460483314 +2759 -12.571534067220044 2.437364687068747 3.407895401160337 +2815 19.09966628283709 -19.330930252804308 10.540554317942352 +2858 -18.65581413413316 -1.4618285274793386 0.4012795459825351 +2863 -11.717476524276679 11.936227437471748 17.6132040352032 +2936 0.7911070866123512 12.327897290511887 15.980631917451309 +2967 -12.83452336838035 11.18773076716468 18.589911925043822 +60 -1.529942537489781 -3.332282760611064 10.571380672848035 +89 3.593813174820674 0.5440494873894316 6.361027448155004 +154 8.460600562673434 -4.6666771089057075 5.526732098669178 +200 4.350014449670986 6.028116336935724 9.760449637216803 +218 -0.38922262602400476 14.171401172514027 3.2367062566548546 +277 -0.5612991204919751 -4.731861139824604 8.549987466571302 +2871 16.098065858702093 13.383814562758587 8.34300127014083 +491 -1.2377758148623736 5.795881725629903 -6.154501117979941 +669 14.566433022327589 -7.685515801874805 14.755604476000931 +1475 -2.2506566818370226 -2.89432462723738 -11.044809633247494 +788 -1.1768968453587638 2.0899004762819002 13.278372281705158 +851 14.481915646237015 10.450554043571232 3.8037204577530304 +911 1.1693125306946541 3.5752152043357284 -2.7047634766430004 +999 -2.757421952948523 -12.724601935179127 5.216538878215177 +1200 -11.044225173375857 -4.491378865054372 11.946935908809765 +1320 18.225540153469332 -13.38532188639142 -3.827191003152686 +1323 3.1045974821370668 15.682583052623073 -0.5752459648792689 +946 16.620148174384934 14.930309854975489 -3.5985701978423075 +1434 17.925903828728238 6.526880029743878 -8.669332249231685 +1623 10.25602798299097 4.774781350345834 16.961137553408616 +1723 14.02918047780502 5.8382395453125895 18.484727344790713 +1802 17.30341026351742 8.8145563626166 -8.04834918275026 +1955 -2.1329161310852025 16.319983238559125 12.514516796937825 +2058 -2.032324570040143 -17.530643462770577 10.947208521325543 +2175 9.270520622246543 -19.1919051280146 -4.445527685496574 +2193 11.604434324282945 13.873112596760778 1.4403185407603252 +755 -3.2253867645308563 1.902763476354832 6.8732358886745075 +2504 14.125725846317039 -17.630699914072924 14.598402096002316 +2081 -16.64891439117735 -16.6902835064455 -13.804154159924815 +2725 -14.243744731174047 -1.0100799763539012 -10.507200734580639 +2767 -18.946334101529022 14.896901000372644 2.515108761318716 +2987 16.324221942912054 12.665932356712872 14.347716559285663 +23 9.773903323276027 12.082078132258026 14.096291447599468 +2676 15.743850585037272 17.427141083061162 3.8306874521945087 +1618 2.2160699106824797 14.741289700141035 13.088498119554199 +322 -1.9407025001426204 -5.6939637761675055 7.206490618218681 +412 1.3545494703395178 -1.6531497503508186 6.92897263397981 +437 8.731402916952018 11.580969545952076 14.343964570487904 +570 13.866339789806089 6.199609585014801 -9.307404032165113 +590 9.56618057768758 13.779139558054078 1.9233301590330274 +652 15.660474721859858 4.777403067594477 -3.5996833285357686 +681 -11.902851386142991 16.16576160047683 -1.2577249847609608 +699 -1.4778410941272142 11.98444594673088 -13.14033886507297 +700 9.855408098308942 3.5889256474651963 -1.144647358672546 +2608 -10.337241592678543 7.275359945932804 -9.927626602619263 +810 0.7126312781968859 11.669956813820809 -2.0233596037985233 +2567 17.746176453741384 3.7116267005782895 -18.65379064728846 +2502 5.722041052421746 -6.7076799790736175 17.67672050312397 +1070 7.600559802035687 0.9019683167772178 -7.798296653541256 +1525 -11.754758306276688 12.429678521699465 2.124791301424713 +1207 11.813513764455317 0.49923205775468393 -1.3854478150301843 +1241 13.091916636740583 8.839936880523089 -12.601233024765284 +1370 -8.589993558993598 17.699155360445218 -10.008993524877122 +1882 3.0580248298532213 16.79646756605351 -13.783018347125426 +1937 3.895052030717296 14.417528996588318 19.47249107278313 +2031 17.062067173487495 -10.557432813033893 -16.631915405566176 +359 -8.207026830678107 -1.8082066128107346 -7.610273755356012 +2089 11.047144538245735 14.636073473220335 8.40538802138105 +2127 -10.15854278914052 -7.196587065401913 -8.04296178473385 +2488 16.692564059032435 10.89431155255197 -13.779006520610306 +2321 0.34740334104757165 1.6733343394013764 17.661245903193308 +2367 4.082474966379519 -10.200019692885496 -6.122058648846709 +2909 -18.94622065534346 16.80359104112196 -11.63784058894429 +2974 19.848232670716367 -19.13589490653451 -3.714277007225139 +16 -4.321810152364724 2.4595908130312294 4.275532794434336 +61 -6.432976894665468 12.38249674520931 -7.096986934605509 +2097 13.205210210172527 -7.493080496436901 -13.694190494848826 +327 -1.2992069605664027 -12.611602871085534 -6.17935482523877 +362 9.515064163718627 -0.2796123091147618 -6.192269892757637 +401 -7.824943754379502 -2.5545578510754 11.612754671876429 +451 -12.439040631297921 -3.8169964502965725 4.683142059176201 +466 6.820391067157145 5.287882987982708 -9.035625892839501 +2038 -0.8481907145315856 13.344621862255819 15.912667650930356 +725 -9.80076016884469 1.7447099713893148 -1.1641040263191615 +749 10.141701472868142 9.024339123912798 -0.495570986898071 +778 -8.978322937075319 -5.918529891831526 -8.085507880186398 +2370 -3.2527515138211553 7.8975403478395565 -17.478638586910503 +898 10.762570408551843 13.976370111840833 -15.472723928613973 +1054 14.678180954264462 6.795663565998454 11.65598238521984 +1058 -5.357413434146158 3.637171354415373 -7.676556215075709 +2257 7.256315828273099 -9.160374885256427 -12.899844117930774 +1426 19.260289272723465 15.134125844211129 -8.13524323017972 +1602 -11.74970175646682 19.029066031345057 1.776786020125669 +1751 -12.054514537941714 -8.866417805049334 -10.684041199805835 +1776 8.167750403874642 -15.151288558944852 -15.310969301161295 +1876 -1.3013331060823405 0.8268261144878005 17.464703562323404 +1880 -6.617157383802766 17.8596555415506 -16.801007182405872 +2001 -7.304663333375736 -14.304202645467635 -5.405215271128249 +2012 -19.213528102320442 -7.828097047270682 -0.5221099324415083 +2162 -0.17400578543361545 17.587201787952203 -10.347602939768526 +2341 -1.0912616323091895 4.126054303758697 9.465940690899327 +2508 14.994753558830256 8.313667362469234 0.01007840673545136 +2606 -9.878890349448788 -10.240741854567268 14.934976268804084 +2622 6.73226610311783 1.56597322034553 16.12195626207003 +2643 11.094848221258614 -6.661600149722324 8.27996096228784 +2791 -18.627213832433725 8.907171266115302 -19.19056897606169 +2 -0.8993669207402951 3.398392661039866 8.36159503968532 +90 -10.582888138018191 10.015184637597141 7.570334524675865 +152 -4.106825913811972 10.13246594380217 6.92267325817234 +404 10.58785773032106 2.325750451236744 8.300086005370986 +422 -1.908216089466191 5.103755913491793 -5.125035261719642 +456 -2.043188616909261 -9.899998931334315 -8.87510786876281 +477 4.943242425311092 4.763853953211878 0.34698481172707973 +732 -8.032357857050476 2.70906184320311 -10.46870492156576 +753 7.660045051973881 -12.902342876374927 -6.748539531999267 +885 -1.9584465034317855 10.336686776932341 -13.601217024210044 +119 -3.0061635191155345 2.2648257782543584 -1.595111558694543 +98 -12.50968238718558 -8.01624286147247 -9.97401186708766 +1105 -12.041659366743435 4.628947462035413 -13.804629032930686 +1176 3.007033023477383 -7.482173067882387 -0.7325886991631455 +1264 10.298289826228828 9.595174345779737 -17.86446791421622 +2885 -5.653768379108361 -16.37268753358865 -6.219708201347258 +1384 -5.0131007568712365 12.439854567891594 16.38150936295277 +1412 18.634078118353326 -5.866696251234686 3.409085655324405 +1459 1.7609170432058252 7.626447638206463 11.849831580578863 +1463 -14.484305414837326 -7.232165347801824 -18.111815494029972 +1513 -10.314946716115852 -9.944875388913982 10.048797808735467 +1601 14.9891420242944 -7.613348436935998 2.999707301684518 +1613 -6.300111540992795 16.198065802202382 1.4853377139790338 +1677 13.074317348170185 -12.600148115393875 -15.460228746543148 +1737 -2.324764946288907 5.744797046780017 15.717557403897116 +1846 14.166373307992778 -0.7501952607363376 6.949709113300342 +1891 5.316805400875596 2.0826520825550516 -0.9074176555027967 +1931 0.43756933269441695 -11.434724375689349 14.498300839296887 +2062 12.251711847640358 -2.9938274626142367 1.9110068011605759 +2065 5.134246452168691 -9.129838187114235 -9.178851883303661 +2098 -3.2413722737375537 3.183315570949797 -1.1628223783323883 +1492 -12.637854659848143 -14.808203586179099 -10.456150170085586 +2171 -18.04040246895689 -5.195931023805568 -10.630237794995574 +2201 -6.4907545159573905 -13.303586063273077 -1.849001887216732 +2229 0.7067367605448243 5.264639680019964 19.475344182297732 +2306 -16.78594657893825 -7.401931432269893 -10.279749363581464 +2339 2.9421855794993 -9.655707084637317 10.165688808893375 +2375 14.251642351968227 -17.775208344167513 15.812616985091461 +1867 10.829569829393003 2.8090410187039905 18.48141218297883 +2445 18.616740617441504 16.286106502937265 -8.149462786055912 +2458 -19.066980341985378 -13.960311157195736 13.004709971715963 +2459 4.263337861761055 11.69992490966183 4.571898946467222 +2614 1.5166333681839128 17.218091646995784 17.708847017421945 +2697 -16.028967944691704 16.598660891536397 -6.912878302147367 +2723 -9.909056175657774 -7.728489507780797 -11.718164339214631 +2754 -6.313047198499945 -5.246417058472466 3.097474151262708 +2819 3.2296683428384454 1.3253199510163294 8.343783603504782 +2904 16.702733206470036 -14.157940325663818 -16.334828389631056 +47 12.451393389645123 -0.5956663719435671 5.7324477106483736 +142 -2.047659249996697 -0.5324474609561145 -2.1500844213952304 +208 -10.591703927189663 2.6906856508417176 1.0343104136099337 +2774 -0.12190759578674858 -8.238043982388206 7.47172428989156 +273 -1.2813399456006265 5.994378422352615 6.097197711652991 +293 -7.924590806378253 12.787074624064335 4.036387385665241 +313 14.194078023018184 -6.528713851900126 5.471941750570807 +355 -9.183759041505928 4.48548348351117 -2.2555081245451225 +367 -7.0954110386292575 5.406938981844947 -8.024605628290006 +453 13.2086422912263 -5.672630980382679 -0.4436316334704483 +2740 -17.989335460605144 -9.15921824883268 6.539744256021584 +561 12.857358913512646 5.691363749752089 11.826995492632335 +591 -4.789316624151984 4.0881241788712215 -4.740281306534139 +639 -4.839525173047331 10.67571639857741 -4.617004789080437 +2708 15.448438469897107 -9.24343395519556 2.0751800215316267 +775 -11.899092402362571 13.951201552536888 -13.43399725468317 +803 16.160584940940858 7.283497922607622 4.017058012506802 +829 13.45069983719096 7.6335694487248595 2.407157375106682 +855 -12.05903302705101 6.892940677118599 11.79737784543295 +2587 15.814855121728066 -4.183310499229205 -1.2888776621037552 +937 -11.517464989071255 -13.129207136363618 5.764168896445849 +2465 8.048775377577217 -15.920404347238009 -8.142574251905538 +2411 -13.479577704213936 -12.966261605289766 -15.425109559831434 +984 -4.749347792832125 -10.420364792363477 -12.111565743844983 +947 4.970805796512961 7.4834986153322465 -2.2490223050450644 +1040 -9.31654722097325 -1.3674306108897598 6.529485963174271 +1106 -5.567467138403847 4.421787949346457 2.926765034960051 +1109 8.628843082421659 -12.872156055758367 10.162851229715637 +2944 -4.580408701079399 -5.206962205297655 -0.06619227049799584 +1168 -5.011094055687807 4.356725459552341 -11.613793584904611 +1205 15.117049331645614 -13.491475267138128 14.931977117401305 +1252 -19.069928957273646 14.868356837744441 -6.910361662046695 +1304 -12.661931148892885 11.661493335240577 -14.259211193115691 +1331 15.398964562822346 -17.69791614024515 -17.700079153392874 +1416 -16.372819062474147 -1.1327575350051267 4.881267351520459 +1514 -18.19278611935534 -18.761476064465175 18.259590067919337 +1520 -4.189373186692993 -17.500864076319168 1.9400631689364323 +1272 -10.9471176461201 -13.532578849642304 -9.614550299514253 +1605 11.222127431686383 16.096870600136167 -14.00245279959283 +1865 -17.631679460495764 5.4327220121165025 -16.65554805648565 +1727 -19.11953293689739 4.227745321867892 -5.906111133528792 +1740 12.362447607452548 16.070026797992252 5.150035436387231 +1901 -14.532132618407461 11.98949826938289 11.496556800613273 +1928 9.803136994465653 -3.5176837488826385 15.88848227836839 +2053 5.117520294062174 -15.89521947654986 -15.983700892638815 +2093 -6.734149237181623 11.22870442312526 1.7597413512677944 +2165 -5.829781632563828 4.042277142825819 12.372009498424372 +2284 -7.70383738878114 17.97733060888643 1.312720910834566 +2342 -16.01672249114942 -12.750136857682916 11.225446807592514 +2363 -8.418708562235725 -3.7975744876163424 14.927545069132233 +1784 -3.413130455703453 16.72722162774567 -1.8088263149512085 +2412 -13.575348714906257 -15.675712842669347 -10.879827068515931 +2490 7.662275392777795 -5.78390185256052 -16.014268434418977 +2522 -17.39092376838771 14.932314314936118 9.811348043598581 +2539 7.400616456200888 -13.867120791715537 11.534279701388227 +1963 -7.386392878262444 -16.176873522340244 -7.387517231056331 +2649 -7.4138430042764965 -7.214870571716321 -1.7896718317523765 +1098 -4.356145957948988 -6.448970901162074 2.773209104179551 +2769 -16.882954967033236 8.285037896193785 -10.849090415996482 +2787 -13.83879720300812 -14.64290168941588 -14.931773911112675 +2799 -3.4316272576373366 19.39565210417675 9.684368235467169 +2836 16.61930653146823 -5.361254474614017 -6.5168728921481724 +2953 6.071243121625912 -16.62188872479083 -0.8907134894576699 +3000 -5.726480138536617 15.737494072548454 -18.318275816570797 +116 -12.32149568696919 -0.03369177177703573 -13.77440563200925 +276 12.181024630163146 -9.555885280212841 0.10177218452906026 +279 -7.313907636386912 -4.9611694584644965 13.648743623954019 +463 -11.305072696936113 12.880183991014789 -8.510142001665267 +19 -0.5478511888934423 -4.0604261523757375 -2.2082418581765877 +1701 -5.411651752539041 16.000130259680724 6.189593206555079 +577 -13.22803629033112 2.893600211052798 3.0315591213482818 +641 8.46578884036599 -6.8691835768139216 2.573217531358711 +1690 5.609018921254583 14.187467542040906 -6.254163410311717 +712 -8.22817090006651 13.96517036756481 -7.531424639355101 +713 16.596457633277005 9.114188126691003 5.5852084612046315 +763 11.795034365497933 5.075076239822221 -3.079411773182564 +814 14.285712167807665 15.144614576286573 1.6718563782086522 +856 9.315206508149728 13.88106175804641 -15.221115238135434 +884 -3.8442280365320234 -1.6662242219141634 -12.822000447632345 +1625 -4.38242857216274 -9.161854157083713 1.4310568533031833 +1444 -11.923673690358422 -4.633556527169508 -4.320512781359698 +1484 14.778240217886378 14.32504535193237 -6.372244336121571 +1542 9.002194240176264 17.437209815293976 16.28377979950024 +1850 2.369772445990787 11.28031084837863 6.86243399181127 +2239 5.047851542404767 -11.027251410598199 4.117474956132267 +2181 8.332689349496889 13.465990446112821 17.717282770656496 +2337 -6.302984744498765 7.1011570497699195 1.7209905178175766 +2368 1.8342708978239877 -13.692040111167064 14.638584749529098 +2417 -12.509684926064784 -16.275729371346735 16.442199130083274 +2474 6.325734106243411 -11.431370650204668 -7.521680084454015 +2545 11.290204012851147 -15.530706935720502 -3.7329484681030105 +2605 12.776739900140718 2.7225721207102884 15.340478781696005 +2742 17.33793891319145 1.242232848042931 -16.34536603641433 +2821 -1.5552184421046182 5.815443979777128 -11.903139458065402 +2854 14.380907162654113 -0.8377766285242719 -14.888504119686877 +2976 17.174278591493646 -5.88521385893619 5.727833595324623 +54 4.78750616901979 6.974529363402458 0.9251186095516816 +138 5.584592773067259 -4.594024061327044 -12.807229886701522 +178 13.241012537953104 3.1727212079519647 -9.920331241489972 +290 12.279888637977086 -9.889647445829272 -3.9086545273472315 +306 10.737478563292415 10.007130997265879 13.055271095391964 +1483 -8.48384081702046 -1.0707486274553368 -11.146632913986476 +371 -13.25654283962011 2.648423012810055 -5.061498893651252 +1322 17.872334817315846 7.63202438695891 -12.000819854203916 +1289 14.182824446702536 1.3929350274040144 8.152717851691964 +704 8.952203552253426 -5.672176564938712 12.691429144485928 +728 -11.230088081636543 10.517143378825853 11.310070509640815 +781 -4.101992174856327 14.646632583433147 2.2389595073181336 +929 10.554144660407442 9.42614488004147 -15.397573835598328 +935 -7.25353715128785 13.988574507153478 -6.528853245295371 +1096 15.054727972140773 -7.583250194737362 0.6509518307923962 +1056 13.256918918845454 -12.348203134770785 -11.653465866714885 +1165 11.502060653806033 -14.549062757772726 10.257902460079235 +1071 10.61684571935591 -15.721864722849698 14.603109712255119 +1248 8.220032724564966 1.3111786905288247 5.829754024397863 +1175 -9.87140524254519 -8.534635694903683 -0.9899405538906149 +1465 -2.037736551713561 9.089248269290977 -16.0781372498395 +1528 -10.000796214878628 18.117574203381206 6.805459240495145 +1564 19.43712276619144 8.504935057982705 0.8183859647470352 +1615 -7.063650763040234 -0.4872579739950892 -2.67486330787274 +1630 8.606027421221931 -17.317701614345822 -15.897221664763999 +1044 3.334057243369783 -4.09734675352194 -2.8231107780192297 +1034 14.518375803539044 2.0143135870732793 -14.66626618421513 +962 8.9738135068315 -2.1285724212346 -1.8839334185684455 +2078 10.347926602312588 -18.406026607265527 -4.233836354959299 +957 -9.197788336360075 0.16322949678386642 0.6604403522543286 +2326 -12.965382174626214 6.6530382473129555 -4.751388475387418 +2415 -2.8173691080196743 -3.725586385637208 9.847875288010156 +2481 -18.564566917844857 3.602255306353952 -14.786752472840803 +2634 -10.337374457580554 5.042299537848022 5.941719076564419 +2703 -16.187502546527636 17.233142758301955 -3.6782832664970186 +2899 -17.152364891580483 -12.489968143337308 -5.7374992946462635 +2905 -17.940917920754732 -18.45910000339234 5.201114106919247 +2921 1.986720907670749 0.9888081772667563 -3.614347379851922 +2965 5.815582378350527 -2.279517990133439 14.245403631231289 +2985 -10.981598807542065 -5.1621202826185515 8.924573321564838 +120 -13.570520760422891 -6.870128199645219 13.693759620424885 +793 8.31837989221172 0.5170417211983156 -3.471344449368975 +312 -8.897406458350353 0.40088763760348317 -5.43819839525291 +429 3.368433981100611 -12.82587359854934 -1.8602490840521744 +492 3.241122542213691 -11.743688774753993 -10.42699022420824 +769 16.048069277537888 12.594956026762707 13.885806518128152 +862 -6.170202508074384 9.977498940184146 -1.7296480477375595 +602 8.02477772932049 3.0264236392279114 -6.000735436295618 +1060 -15.305846589015392 7.154876463450534 0.20560865887408972 +1083 4.964881863286401 6.007653544698971 9.411144606904601 +1119 15.092005403758492 -2.2835612274486605 8.891218359427473 +1127 -14.935315464664207 -10.245459105929166 -15.102713887245976 +1143 13.800598815946662 3.123665306047551 -6.455052334706464 +1332 3.4007229613465824 15.149645432051605 17.544334170270474 +1552 5.744315086715471 14.91481124391563 -10.011608590859185 +2189 -19.29125737336826 18.338811913629257 1.8105110013986028 +1567 2.001973469909394 -17.012536284613773 17.923540729731183 +1810 -5.383226219287634 -15.761225825144837 2.0453116447969464 +1899 -1.3150299626737008 5.781892817917215 12.097821748350704 +2155 11.508830069993051 13.966336214967829 0.5287668505878785 +2197 -16.688917786590462 16.44705608862329 -7.388333656678107 +2233 8.771536134615593 -18.31735824762336 -3.3195736002629497 +2248 17.087695791047548 -10.940505777644447 11.909492831012559 +2322 -1.8033388831828494 -9.88441654755341 7.16195767339643 +2420 -17.396122563945692 5.942202516744806 2.104372448077328 +2437 12.497593788879822 14.276588846894349 2.272749510297842 +2530 10.700150983024017 -16.717268422795787 2.976627609666298 +2573 3.1306341300012717 -17.03574716247205 19.74854228960884 +2686 1.7787464545165343 -6.258817041912029 -2.5372510954620044 +1398 -13.774019303297207 15.86764929708589 13.584341502045033 +2950 -15.089573337513299 10.215727061383495 -13.578981020480297 +2970 -6.873899972242501 14.019454599004455 -8.1500718110257 +4 -7.763165743331771 -6.485801346352637 -5.678419527317921 +86 7.357036417175315 10.768225180048956 -11.899534123630064 +406 -3.4104162936919455 -3.4045209313195106 7.709684292329075 +416 2.398294113764864 -8.408642125490609 -13.60086408924663 +503 1.3098930626801897 8.35594265746151 7.499358784316063 +2390 0.9543556001166233 12.534083688696356 -6.823582739864747 +599 -11.778375128064873 1.6015104751166906 4.7881823662010286 +606 -6.553553659306519 8.087044057791779 5.810160068784854 +607 -12.568980303215595 2.5349285319254675 5.50375247999386 +659 10.160737346022739 2.0012570060269614 -5.236922270628705 +679 7.247384615841823 15.740454491761753 11.0078476168667 +867 12.636065893511422 15.663071346913293 -14.430559165033287 +887 -10.473506010029542 7.68683423914926 14.839184024523492 +1007 -14.14605820897759 12.961647016937553 -2.6638637075494374 +1055 -13.013477257684508 -13.460134446696356 2.17190199670243 +1065 -9.835509697116015 6.235592324235899 14.957886225661243 +1233 12.491085726516836 -16.718370142943417 -15.539982911548819 +1256 -7.8309521606419965 -2.0174211469001007 -9.504502827346228 +1257 -17.022307162140105 17.774049079126197 -5.4469859704955015 +1266 -8.35835343945182 -8.427612740969915 -3.9755728284050136 +1441 -12.458072642345272 -11.07457349028194 -7.364266840490241 +1470 -18.132238524970255 19.03637845563473 7.097633339419685 +1608 11.853775005381557 10.88852457429317 6.538317600885575 +1712 2.620307688412378 -10.820307591218905 -5.956761679765295 +1711 -3.571371002690321 -16.88913922966695 14.62764688372987 +1750 -10.121934858502051 -19.015457983050837 -17.56807778199241 +598 6.011596931390086 -10.901085656621639 10.619666561201223 +1913 -18.807282622766994 0.35375020974613597 -16.531467805832527 +2032 5.624494524972277 -0.06521878148740544 -3.3992404357966253 +2106 0.331228572284396 4.1751537435176 11.626750698327543 +2118 -11.723296207742129 -7.4891474215773 13.215976098065457 +2169 -7.908227245432755 -7.410026335928901 10.44129512905476 +2184 -17.17378911977087 19.36325438487275 13.878215906701836 +2195 -16.582353838696 4.588290020304915 18.043159347773724 +2213 6.572785806140764 -13.69384314993963 -15.665087901009365 +2254 2.0897010255908857 7.282656875400798 -4.8672007512461235 +2299 10.878258026729243 -1.9419003715840577 5.596445592554208 +2509 -12.987601347395836 -14.04739534014019 -0.47731759684190567 +2511 2.274558080835733 17.926401155859747 7.587900484176925 +2595 -17.644232346630684 -9.578522395431676 14.039015398850207 +2623 -5.249439457515736 -1.2094073517268076 9.997542599440106 +1872 4.684401884290136 -5.414134048589822 6.175646461744168 +2766 0.7089886746285097 3.919537112119708 -12.48251281436922 +2824 -12.425205114207813 -7.372344097654178 16.678312653919946 +2874 13.820246586752637 -17.53465842840151 -17.339296265417918 +2881 19.877418800779765 1.0791222001251688 -14.23444552214379 +2900 -1.725387501440322 6.874711509880575 -2.42600887946427 +2934 -6.455544641649785 -9.426567161339516 -18.788854992696415 +30 0.6330211800222708 12.241755974597448 -6.373629022730756 +72 -12.043794694665145 -8.683105441208209 -6.8728078787096125 +130 2.988912374982512 2.8026130398351383 -5.09115565754938 +186 -12.987858864033969 11.460972907424587 -2.47647058283685 +250 10.299964059754307 8.67778410112876 8.337669161805064 +275 5.808936893003587 -8.620586058612066 1.6561802401583092 +345 -12.920042268918422 -3.6537638546821034 -12.379027964727392 +445 -3.422082060956296 -2.2916138778062467 8.458567395756821 +571 -2.661085809524609 -0.7238573959671096 -7.968554856740497 +578 1.8403694852286299 -5.339397363360432 -5.316521144028325 +655 8.920574629723019 -14.125073969973588 8.531210446924026 +671 -0.4571542368349499 1.320839529186332 2.5516224213652605 +695 -7.520203213990777 11.470389171886273 11.52100534276588 +1246 -4.462365645416752 19.091545696763315 -6.339086750032514 +818 -7.320783226191258 -4.555598821901119 11.566828535307854 +1338 -8.874202790306773 -16.64966405955336 2.605506025498292 +854 -8.168612295042475 1.39373810218338 -14.686269680683488 +950 -10.574344177135178 13.086571276236675 4.400548078600546 +987 11.179785345947785 -3.5107249596903882 15.063411109797771 +1017 1.9868589057504888 11.799047224824944 9.66976344312305 +1134 -7.383620109282694 -14.38628581255775 -0.4055980204193815 +1138 -6.645446494945582 0.35146593993612063 -7.151981191803452 +476 -0.42482900153395153 7.273420373195069 10.394401786872823 +1225 -12.416714134435699 17.75648521511278 12.90133213512211 +863 -4.814731428086116 2.337485066311321 -10.642651602158004 +1150 -12.179020449487307 -15.285754623736143 -12.272004598468898 +341 3.38618981656808 3.9115138668368954 12.83056023789155 +737 -9.575743656172946 -9.127187390246073 12.24328375652267 +966 4.764057486430573 -1.5699253308574146 3.5743506298083414 +860 13.50481611298914 1.680610552569677 0.4816712218395186 +1051 -0.520833987828479 10.01997193074309 -7.195900623462515 +2074 7.529062322672078 -10.693684492498178 5.774439609839359 +1219 -2.89187091174107 -1.700679214302805 -16.273911511121344 +2838 4.823483202903097 -19.455766464598387 -10.351460967859298 +115 -0.21019882954535762 8.99549876014754 -3.845902200353916 +21 13.68734777576307 11.909679393012459 -10.222938841821685 +79 -11.403840504839646 -13.337715872840475 -13.002706386318906 +161 9.095984771426577 -1.6234776527064032 -1.4049728817578104 +432 1.4929426299662947 -13.66431156487506 -9.240187302648506 +523 10.550148559087525 -11.745424150830688 -11.42496202158127 +597 1.9975210502372358 -11.93147308546241 -11.646580853409493 +748 9.065412876451543 0.6747223149729721 -1.701522919159049 +768 -0.5293255013117084 -1.9132942910280601 -12.949323759283361 +830 10.990136809780436 13.264549502408164 -12.342225147499704 +899 11.844012207361551 10.84815887360384 16.384453380668575 +930 -0.2484831648013407 9.994223366873923 -14.90531067710027 +1039 1.2588417278318993 4.281021244836972 -8.834421620009278 +1117 2.3699945136139475 10.06686470986364 -3.7705672896545037 +2680 9.771161686996404 7.775639629099605 10.966177887944555 +1085 -13.77020946513657 -13.15315845495397 -4.434839978965407 +1210 6.4412525645118075 9.629251419042996 6.166586407726231 +1286 -5.749235114574539 -13.968185045200443 -1.7526580061385333 +1292 11.418015358161869 16.17135479195778 -16.323363170625285 +1310 13.170783654765234 1.795141359184334 -12.358368941868791 +2231 -1.7435604999275744 14.985306513817182 -0.9882845275614528 +1429 -1.5769532602541254 -6.744441507379027 -12.278947139875553 +1480 12.8660732960692 14.814099739445298 -17.369893610547663 +2794 12.065435401027502 1.6997401071341443 -8.853286680924512 +1535 -1.462875072124059 -9.890439653024055 -15.682330826931876 +1733 17.060073579434448 -4.870745490184179 6.932888215948449 +1764 -19.087174493042443 -0.6262048216467853 13.626822554120531 +1830 -7.298249444487255 15.107982758419926 -16.398837826489768 +1844 -0.622259989636185 8.839125656343219 12.957544756569687 +2716 -0.9486748886146356 9.807078661675039 16.239337822076997 +2011 -16.54934731343029 10.626644147544448 -5.267486655922867 +2044 -6.481867186312065 18.486695568501737 18.13067638193809 +2077 11.591413016365744 -9.010896705554437 -8.973522500238506 +2185 -12.105877480961878 -9.876904552150625 15.836996690823291 +2196 -10.639777693906009 17.64404102801868 4.316963119937418 +2312 -6.492379245651297 -1.4173954563846904 2.5204765581119486 +2327 -6.809396343650739 0.7273083135587944 -9.024028610646093 +2360 -17.46776760801781 16.78764654110448 -5.265894375926182 +2524 -15.973724872015334 4.436441625654566 13.473657665398534 +2394 14.163306300586473 -13.104366166115549 15.032890985337781 +2603 -12.395916397109502 14.566853304863269 -18.380326956178724 +2491 0.26615690973519046 7.92035330626672 13.20155054683913 +2706 14.623373125362084 -1.786688925354943 -11.697289985561703 +2748 12.457513302622464 6.925240050365715 -15.439325538575648 +2809 3.2751233238861484 -18.573265028226217 6.887647771566006 +2344 15.966368525269022 -5.244004392457888 4.454129285891405 +2848 9.30940171075248 7.194188232877135 -2.42481789527327 +2975 -16.97199565866248 1.1129914347202832 6.303464304294606 +2999 -9.617465715016388 -6.095439058130994 -0.1550577556630507 +2304 11.34591302521822 19.33114475244762 -16.279082821165254 +127 1.252204072503723 -3.494121834807273 -5.2825226738111475 +160 2.5741290812799673 -10.842205080890109 14.328215553822233 +2249 17.66946308817509 7.759836517048588 19.71443165335728 +206 -9.911116201660345 4.920055626086347 5.95856591486096 +297 8.076423216686386 -10.950222600686152 1.6613714543853761 +338 0.008236498812039469 -9.834641533328451 -8.984582606018147 +351 3.5710806139364677 12.836813637379946 -5.054833527947395 +391 7.962797821884166 -5.194646234389264 5.025226041721682 +448 -5.650724909689699 5.004945895155795 -3.883871940338499 +455 11.64213377171001 3.560500108588524 0.5575553973411285 +471 4.532581941812945 4.074119090551347 13.392644614039835 +507 -12.64029233919896 -6.035180306780229 -9.415472891809715 +1193 11.073808836258873 13.616588948464303 -13.573195594570857 +2125 -11.289341734623788 -3.9185161882236126 -18.89546584482139 +2117 11.180727074982808 -13.437540785991843 -19.223739994646337 +739 -2.41915761150994 16.093446092313215 -6.916162449993978 +844 10.914676792288363 -12.547756023471988 2.138856672421085 +925 7.900166424315585 1.2218346758938297 6.067964493028035 +938 -0.8410084596209307 -9.024738958726974 1.2113604937696612 +2713 9.16470663102151 5.271382683301022 15.225932609799818 +2035 -5.147192815906983 -7.243095019048723 -5.841687278630253 +1000 15.385137944893216 -12.685876007057262 2.165208367957041 +1003 3.0742984039534043 11.386469020079074 6.998723496153639 +1064 5.965786553060681 -10.175840120368006 10.627068643906162 +1933 -2.897285868274245 -14.32380852257051 17.81601141246972 +1113 5.613147279209409 13.669724796542912 -3.308302950818256 +1139 -14.493963019523749 -14.404264187954476 -8.305051308698001 +1180 1.639341774853737 -9.05113211252336 15.364227756039353 +1215 14.16610482233708 -5.26263367602964 4.895940874645635 +1669 7.545815163263039 -3.4798506870433243 -14.532631119110727 +1318 2.4531165184449986 1.0953239798849075 -16.282291107033988 +1349 15.466729970006444 -15.362372196811492 3.5713831627415917 +1381 -17.17176617863507 14.169803481830773 10.410157217230967 +1924 6.132118753613845 -12.503728786032035 -1.854485630537775 +1555 -6.881322466343166 6.84866396636438 -9.083824459795766 +1717 -15.611173785803244 -16.27897370229534 1.1077514492986051 +1729 -17.72074573956905 -2.1693726213535496 -15.806466760389396 +1771 -0.6091933652970525 -6.708254510270772 8.020574672559546 +1829 -3.4139431764385377 3.067824233182004 17.425392378449228 +1847 -17.049491576600808 -7.99115646554834 2.449827143023259 +1848 -4.03220128963364 -1.8453025506368255 -16.990925788145084 +1873 -14.63698224405252 13.467855810934886 9.875446762751336 +1887 -2.8483565247909954 -15.021806619998083 5.275737095111708 +1925 3.7026821222880146 -4.915671037448587 -3.4633557813128037 +1954 -5.362997738713992 10.674666596818117 17.98536683853667 +1713 -2.724172391305148 -5.089271460633415 18.31102468133376 +2025 -6.218925756667966 8.931752915547785 2.022987311647463 +2061 -9.135600066979817 18.857857577911226 -14.633043057028646 +2174 8.720866680681494 -7.6723739251634395 -9.216109026894648 +2260 -1.097791650232216 11.955110788667247 -17.75151557362396 +2272 -11.79057552649214 -1.6550030533447329 6.737896835550758 +2354 -2.0890056315206706 9.65632054400013 -9.198901306521037 +2462 -9.872750184159257 14.570971021785185 11.633118778025912 +2479 -18.159825932549268 -13.501932428451914 -4.0494427938149276 +1115 4.893442581470929 15.075952312785237 -7.9782984934880945 +2639 -15.658230902211246 15.88554484883683 0.8106992008962184 +2641 2.6927681725699113 -7.960650100025258 5.661019048222223 +2717 7.931310959513231 8.699272443751466 14.025955070993385 +2732 7.2623462705144295 13.80722272002381 -8.56620775023465 +2584 -0.9241279702135445 -8.75611206760269 1.1524271630954817 +826 -8.10539796364611 -15.127701468950573 -4.240550157808712 +2813 -15.418968534948954 0.28682646886506447 -4.721126194369761 +2866 -14.524470182704228 -16.000035155942484 -13.934808686383839 +52 12.146504523998743 1.803062811016986 12.059021006205436 +58 0.24223794070575466 7.606936988999289 10.277872804892121 +174 11.136446284787244 11.356072335557322 9.074735232987985 +221 -4.146535804452931 -9.39630581520203 6.1469178758724405 +1611 -17.80256164664207 -5.493532763481266 4.284212742872213 +1582 1.2772764259323024 -7.965734390858622 -1.4046118433311823 +384 11.134146537651773 0.872716153361043 9.236873400497128 +637 -7.968122005079272 3.3563185734075205 12.936285680492636 +638 -8.858340158329595 16.18211890155745 12.092232495410485 +1402 15.246719453285325 10.258017649431883 -8.275473994451131 +1069 0.08442451969616095 14.174738631067616 16.221056221095587 +991 3.3072680512809605 3.3993049277656455 16.098138477655375 +1530 -2.380137379738002 15.732849805449632 -17.98842780167858 +1324 -13.085649403349052 -15.834123704939945 -8.165654327187898 +1329 7.823961228877557 7.351387980464024 13.698827446719154 +1376 10.02757163866361 6.025214335690628 -13.664799135963575 +1452 -2.822429672977679 -10.392456490032615 12.613565208798864 +1637 -12.11274641388907 -7.74399254226054 2.073493166545623 +1720 6.6529474539303814 1.020203788598291 14.542398828028775 +1870 -3.9793332318327215 -14.731374255834316 -12.555339954554414 +2024 6.546319281916396 11.799555079986671 -6.243799017170584 +2036 10.873181437680033 -8.878087376844634 -10.84942150146178 +2043 3.54860031973676 -7.829036737940283 -16.31549101643455 +2057 12.495502608476356 18.323142378256513 12.803787998510852 +2211 1.7353694221341138 9.370828582361007 13.279475830118761 +2283 16.20693523165451 1.0793048711147615 -11.164294200094258 +1575 3.3219829497577984 -14.863984451447163 -7.332610992807368 +2442 0.008009001196596546 19.653960034619303 0.6402496469617517 +2448 12.66547322824069 13.928700972176987 -4.91839757663743 +2671 19.80619085759646 18.934780862722427 -15.153140124351808 +2688 13.65405100926734 11.113895989052988 -7.367504053676238 +2801 19.397476043687668 8.443853667903394 -6.75795021587273 +25 -2.3852545504941878 -12.629384271541467 4.822080871935362 +45 -0.8239508081593372 3.3347702456013817 9.462427863265843 +71 -5.76818960435224 2.570397356327344 7.480507012290893 +274 5.852770407101528 -4.2915566290131375 0.43399875874773985 +344 -9.27728249830797 10.072404735191492 11.539721389364196 +368 8.433836538213686 -3.793733425739516 1.3058808587193775 +450 4.85428557851828 2.596307859084065 -7.737575933657066 +478 8.127213345848782 -2.3753394773577363 9.707111915635723 +502 6.804454989280364 -9.033332574337008 -5.925004334612382 +1366 2.4796942805234483 16.664522935996505 2.6258709116045758 +730 9.941313831304436 8.786970302964734 -1.053517489007285 +843 -9.339913510677441 -1.733858996556381 -5.203150064133093 +858 -15.363005426102427 -5.332591999432311 -1.6933173656638434 +921 -7.134144227821443 -6.5203746016501025 12.439523242585484 +1075 -2.0534966680303324 14.927681282507551 -15.081087443760065 +1177 12.460826028833193 13.037685744851569 0.17892765716301878 +1305 -14.832785523904993 14.816027412066193 15.028500128838466 +1312 10.284626715132495 15.117401584174639 -14.868723656642707 +1341 11.104765837916064 3.2516927224540093 11.454308353369658 +979 -13.832200450508125 -8.766842467608724 -12.877042903709071 +1496 -14.725831175856845 9.518716726899136 -9.517923551249755 +1524 -13.05470562393772 -5.271316579882739 15.734466105238512 +965 6.798133390063085 -14.767845945624009 -4.890310811645898 +1550 -15.945143532765513 14.486739528589853 6.903225250542357 +1648 13.526114482588085 16.500933572916693 -3.308974302705091 +701 -14.174117351474317 -0.8857578074375698 -6.5789616507236195 +1854 2.6977103271591987 -3.283903062615301 -13.454803438986186 +2022 4.133208826939882 19.430500724656007 7.489794044319656 +2250 16.229700409818836 -8.23657144505939 -6.972363397081858 +2788 8.189136524659062 -8.451959686743075 17.94855785848054 +2343 4.463561180939536 6.253309115928192 18.20098279387178 +2380 17.952546143438337 -16.012007506408715 -19.188990110309916 +2389 6.134391181454379 -13.504056642574145 -0.5580869738035119 +2510 -13.310515840227868 6.5588611956792695 19.328830185708373 +457 -4.530899805024797 9.351539009623949 8.401858938973106 +2629 -18.470734876940238 12.916463894247773 -7.815169910921925 +366 -8.213613061658831 0.17098498872900797 -10.328350490469578 +210 3.4349712512009476 6.894761955992158 12.362010599145655 +2758 12.293525928858172 -5.698970738052874 0.47416048915277587 +2895 -8.833276038576711 4.924868536766943 -8.069987473088405 +7 -11.107540793233575 8.916606530569538 -5.868390306947158 +55 6.691549729640551 8.825555466556189 13.103542620655174 +100 4.867589459473769 0.8466836889507992 -5.763347087953402 +169 7.010658762681105 -8.091265635259687 -3.2995443452554944 +269 4.290653058025112 -5.761505728015522 -1.2313371459822906 +270 -12.177147734524624 3.531867531383094 -1.8057729924923194 +393 -5.989725641820701 -2.5445864562171785 10.191024512175867 +485 -4.784595299397293 -1.0660524399581048 -12.867898791746494 +592 -2.175378036608953 -6.296555856857829 -8.069290958883947 +850 11.203110192616759 -3.84082966688219 -7.39926502293587 +931 1.1556653635587029 3.0785787094070094 -12.219776949689924 +1519 3.189785383618792 -2.7061919228884572 15.459746567044679 +1099 16.392305465954617 10.998235325100786 -11.560843682376726 +1243 13.027256855387611 19.507623708335043 10.326035848598652 +760 -12.16171775390682 13.953448215711902 -8.370229494900856 +1291 19.154271494479776 -3.0206573394943876 -17.895485627105305 +1362 18.780250352833473 -18.3103734046697 -3.504385795352695 +1409 -11.832093727793554 6.0229939770211685 -11.789344721143182 +1423 14.294568464964115 -1.790433525510826 3.7532603392947204 +1454 17.976833464261652 0.25476784707196015 5.171933342553823 +1660 -3.714906617143173 0.6751881501012098 16.4319033229726 +1684 -10.692302949309337 -2.9014299428858408 -12.88478201971924 +1731 -18.1179121661536 -14.53166691969287 12.518939920627625 +1801 5.502896931666044 -5.71879571448935 -19.180037899520823 +1964 15.083136514442534 4.431144586721924 2.832369469306072 +2120 -14.272119053036025 -7.58103664180214 -2.6382678971961897 +2207 11.261194549305808 6.416532699012663 17.988163626473312 +2289 -10.555268133451472 -12.145611591407025 -18.704271717772205 +2783 -15.786504975094163 15.599443387710412 13.045218454514117 +2625 1.9822293804572166 3.8857554442553393 7.644333975273417 +2705 10.422406906740774 18.400750172822498 -15.404776192638034 +2765 3.276704306716028 7.998313393580437 -9.086029433147585 +5 4.892142486265433 -9.018003878087072 -1.8120517746456675 +726 -14.223328260929067 -10.576007445435476 -12.325618107217531 +29 -8.637712216169643 -1.034542194721038 9.691902282187364 +91 4.757028006895669 1.760949168728751 8.467383158694341 +179 5.540083118148262 7.881541653262636 5.925461602742017 +240 -7.953642549705426 3.378821226063465 -10.722079448695174 +326 6.631552295772764 -13.654028222066303 -5.419008257685228 +329 -12.712239273663785 -4.002069140787071 -7.299235414717009 +360 -13.67686812175262 8.533381044263194 3.8459698549113184 +403 -11.915143159807887 12.757702708441954 -10.753001777899486 +409 -12.16664760743454 10.996539992605696 -5.527653096913381 +410 3.6590851681883283 -1.0008210042837955 13.074071488217642 +553 11.611864825371404 1.8632096210205336 8.880675484955395 +562 -1.516649582976253 -5.265547640839569 -3.537967375859087 +644 -12.371123838419503 -7.073290357770409 5.220073381425719 +733 -12.159809395008985 13.33133598897175 -1.5223530458603687 +902 -5.3972420484639985 -11.844345031091098 -11.548475006994288 +2150 15.859107730164597 -5.09714938203693 3.485867369662406 +1102 -14.493961131597088 -14.372533804591344 1.8530983119167945 +1245 7.0924382140583475 19.25316564793227 5.6888750509609745 +1258 -18.19577004969654 9.473651835743679 16.93690224700435 +1303 -4.721254075026647 18.379214779780717 14.58009867820328 +1361 -5.481645420934154 15.40722271503714 -3.7797762282989855 +1377 -18.770096930562186 -1.7546820624714674 16.732761055777175 +1445 -15.790782713920034 -17.10349048634139 17.784152617299156 +1481 -12.580063720168996 15.851577863635239 17.822917503767858 +1574 17.151722128029785 6.9385304279601545 11.9669378291783 +1580 -17.819058813550026 -8.41025897870813 13.33795149856077 +1656 -3.880886471669438 -6.243624232377942 17.650163309554387 +1800 -8.770046489491724 9.41229055333782 4.656415734188409 +1849 7.462470671043341 6.698081182908369 7.617801201104785 +1945 -7.551418496332446 -7.0578337843918 11.595100380598696 +2019 -17.18570677296906 15.028369944879376 17.304395031538903 +2039 4.608904634092047 19.07332676133123 0.9994460221527991 +2042 5.0022537315874 6.470793629953207 -10.680911793347335 +2108 -12.145170049149236 -3.9857143462292206 -11.69725284544143 +2235 -12.14287807483754 -4.657524661966554 -15.222728591297136 +2324 -8.928555357878228 10.479274504636281 -12.948652952217875 +2406 16.29868881287499 14.653864120100842 -6.131390437140203 +2428 -8.414509283054596 -11.606334435190314 -8.66132140817414 +2435 -5.98148644916691 1.8858917008905989 -15.645256208325094 +2506 9.890357637694764 12.257831823967804 14.181012883054215 +2589 13.605522852085734 18.554632258255253 -15.848056102815535 +2613 -7.792068827303236 -14.786621453162864 -0.462443717824663 +2655 -3.0089039751403597 -9.024247146114883 1.8037584347647082 +2685 -9.122292223490978 7.364647660425885 1.396133131303076 +2730 -18.97102822986138 -8.207088157532459 18.23697919919821 +2914 -5.036255860671751 15.20225071665758 0.24183337776464076 +31 10.43113139147764 -12.10389159199254 -8.12954597083199 +141 8.403448096213257 -7.499387501503938 0.9178946442589941 +162 -0.9495908555840938 4.33953745038972 -4.511515440484206 +184 -6.460069407583937 7.734534902667127 14.010469623929938 +202 4.569610263230631 6.702250837632602 -11.964048375461823 +247 -2.2357972337599588 -7.696221122927996 -11.550991564525464 +266 -8.118032259459017 0.9933739137707476 9.000290104640417 +323 2.1956736099474905 -5.4636850242072645 -9.75068664770224 +435 -10.735168451223304 13.972907650099783 -8.961641970525436 +481 -8.282983218430818 -10.824989009032283 -6.174697891724899 +484 11.143112148936233 10.715275393067033 -0.4347983724854141 +567 10.21964682801289 10.873778557634934 -12.479034225145341 +589 -11.72952938089305 5.665659406525205 2.3415077329121905 +609 2.51813783478826 15.0232467597328 -11.011222632330798 +711 -14.130099488800312 -13.083244968059175 -6.451273756074345 +722 -6.618539276990125 -5.161525000778912 -3.809490597463556 +809 -3.2071299351770963 14.482192420506959 -15.05124008453702 +849 3.0030713311845285 -8.674534988464499 1.8274486053685892 +870 12.763680478750496 2.551990760460331 -1.994474539063993 +918 -7.19502578222678 -16.18375258779478 0.5821163652452851 +951 0.6099621419612307 -13.703404317372845 0.5227133771437089 +956 6.663514977548321 11.413510509205567 3.7424281270471407 +986 -1.0871329515323789 6.740253771159556 -4.131233235950011 +1050 0.35405831175624314 1.1797508266049304 -14.621385828336903 +137 14.15282932732007 4.416805640793059 -1.6157598187929405 +1280 -13.940486925319506 0.7509286087724054 -3.967952679511937 +1380 -10.516611491726428 10.468204722970055 -3.033360554519652 +1488 13.936297709173513 12.478450051610228 -1.2255795087376327 +1505 -18.077006274943184 6.692262922995436 -11.783648010714781 +1541 8.418356750919617 3.136170979064411 -9.661526747946034 +1959 12.270478303273036 -1.1301882234611584 8.870663898593069 +1694 -10.857229466223032 7.883202929114854 15.903522913788061 +1705 -8.624887459393445 19.132709926255046 19.226734586672297 +1708 -17.328373527615597 8.002601517039448 -15.401583602348385 +1748 0.8956139098598191 5.0880598526609235 -8.82512131102175 +1797 -12.664852734933916 1.7514193160728468 -2.5273186410071165 +1820 18.297984431028926 -10.798048686733392 15.411442856643971 +1833 -16.053070130684528 3.443446634156279 -18.7585711758842 +1843 -14.92597494035018 16.302408113880244 -8.519445674212074 +1897 -6.822467895671674 16.191868932070744 14.913609128719951 +1949 12.817719743079563 -14.003613909337611 -9.31023897354041 +1960 12.580007752267939 -11.54074109539399 -3.6386914785200393 +2005 4.845634464917176 0.10329105438175337 6.847945804273999 +2009 -10.913448329400897 3.645311236389401 3.379857329704218 +2027 -10.449745276967766 -2.3089784278173306 -10.579901653108923 +2034 14.111940437458571 -14.163931163943976 0.556220352976502 +2076 -17.310258037000075 -1.0745282871547324 3.714671663077243 +2079 -9.161919381272916 7.632390550218395 -5.846713952087843 +2147 -1.2280057879432345 18.255362334032395 10.222239323307411 +2199 -12.293303446235882 14.68972545219379 8.694679462950825 +2252 16.68232751185814 -4.379246516228977 -2.1716192955879206 +2345 15.467524202809422 -2.013701477164017 13.818963854615392 +2376 8.357334493021963 -3.4463306243308036 0.13674687663013343 +2382 -12.07568267268361 -11.90205526047025 -1.3273651930895094 +2454 -2.733872423434884 -11.345621175503874 -16.472093967002795 +2468 -6.149372586524903 2.1212063380025836 -19.20743007964698 +2483 0.4603061310616785 17.96544263128311 -2.5234058061442655 +2519 -1.8842259587369092 2.4022946494203667 1.8811112309226032 +2557 -16.334869543088164 9.596453626728419 3.6364069902759395 +2624 -17.39259215369228 -13.108237498947194 -10.839577343764576 +2692 17.428537172036663 -4.600711064096134 -0.9891309207888732 +2727 -12.33708129990648 -15.610254886367954 -8.132587538198772 +2954 15.102734854017312 -18.91676533156547 -4.947632308243963 +2997 -6.0690025342962635 -18.85511588927804 12.175957334139381 +3 7.943371814833405 6.33438034711538 2.3052807013945276 +242 6.908159450235451 -12.519080567564323 -0.4241653441828667 +522 -8.742953580220199 4.7889693966327185 -0.06516646869185728 +632 6.34373476269815 -1.0049239513266348 -14.954428408239258 +820 4.211587783433961 -1.2925603421004976 -10.266015181819244 +846 -7.416531345095582 -11.695122333524964 11.548986060180168 +890 9.01729713193656 9.390909819663973 13.628870631499547 +969 -15.101016945301396 -16.03872524389602 -14.135831432447945 +1079 -13.83315482788484 7.888837184672594 9.529066272170445 +1238 -1.748835181785358 4.7197736748543715 -6.1133452663691115 +1263 10.364269040011855 -18.08983420244289 18.953864224953268 +1309 -14.364569116453005 6.331650405056235 2.3202617072458995 +1450 17.37148102271738 16.282151636773683 3.7671467473795244 +1500 12.583155810914606 2.175658006730349 -5.477752937383389 +1556 -1.4250467737104924 -1.1985893746008316 -4.149828706272645 +1683 -17.66861022729518 11.825685572813262 1.8081456228786776 +1754 -15.21143065615202 0.19694646526966306 13.193533701310052 +1857 -10.831791823708947 4.2904123669494645 -10.872693902339934 +1914 8.54733263519565 15.217616524324386 -15.85619517310406 +1980 5.967158272197042 -2.289937317801365 -4.100146194001461 +1440 -15.653415553300412 18.431068848420814 -15.348088852925871 +2037 -6.696438746864549 17.940554023775505 10.297016109924217 +2163 0.8682745654330182 15.911968940245648 13.79715521249217 +2408 17.2859760522875 -9.851073771881838 18.85167237186592 +2485 -15.90612994437103 3.9067359438244953 7.526387082408669 +2591 -1.7440489426985228 6.7760488625022015 -14.542175326991373 +2631 4.888926430911099 -16.956065361386226 -12.795216894991198 +2665 8.210097021490219 -8.90609259708872 -11.216887274999763 +2667 17.20430063889795 -10.813956575900125 -16.794314934247407 +2820 14.925989566053651 -10.805104634310432 14.401199646527902 +2830 2.133542482858122 -0.5413997097879688 -11.19549761358471 +2903 5.742183481070529 18.28193774177398 -13.441153632630732 +102 -10.315651817614999 -5.503006127645555 5.423382032202676 +168 1.1398043805141282 -5.306652220309757 9.829713559590871 +215 -12.580871947389873 6.746057501278323 -8.086294496361038 +224 -0.2510462506785556 -1.4832540582695393 -10.82051076678393 +235 -2.8962446278969867 -9.448968471554181 -5.7310358020388765 +296 12.394596891710792 2.554386249341277 -8.101722789818462 +612 -8.49916326851098 4.126564879616485 10.889465936955007 +616 -4.724468771441727 15.370545043389221 6.160791136778356 +790 -1.8850541158116076 1.3983370458498297 -2.783623924102371 +861 -14.410320880142345 -14.554537181751787 16.336959312132244 +990 -4.857174501097595 8.306561862266546 0.6091747086847781 +1008 -12.145218980128476 -3.0147628961102804 13.24325690674273 +1188 2.429519364336341 -3.071876103227978 1.5226913385317047 +1201 6.360986267361178 -6.843637329928738 5.8368338803569975 +1302 -0.19717806311775357 -19.132066097771773 -17.74953327673772 +1411 -5.255662663369024 11.776239589268732 -6.177025789592655 +1624 -10.617601994240314 -1.5792004146294263 -12.616899165512786 +1155 1.1432235310182177 -9.855899462202222 -6.9538263127934705 +1958 -3.886973929014326 9.023547889295429 16.293230764690726 +2126 18.557179763961923 -4.927593618328581 -7.881059769408221 +2132 -15.8603541712378 -10.60029645397489 7.626300174671831 +2152 3.714801865192244 2.815735091929785 13.409633171734306 +2208 5.679676147631464 -13.260228486108453 -17.80563135695933 +2278 -14.526343669075935 -8.294698032872173 -4.080360456512691 +2336 9.170676298520576 -11.975483377078287 18.743001292479487 +2340 -13.25687508541853 6.659508111016609 -13.591456925275013 +2451 -18.277707488003415 4.1069162461658815 1.3567873076508787 +2471 -16.67187435877837 -10.648233252838512 -14.187026878147337 +2604 14.838492680632669 7.969599846452851 17.834677434646927 +2616 -18.873866663864945 17.873426076110285 18.675254300224804 +2770 -1.1318853316082238 -12.3550760842858 -11.801972015273359 +2907 8.193232596282382 -17.995329058454338 0.3878937721184806 +118 -8.364600224554819 -2.305808676966615 -4.765470703472142 +334 4.4116703547784475 0.044638303511329185 6.968449252299167 +358 2.733204264104319 -13.272530097363617 12.17185295505997 +381 10.658834624974851 12.15767410482964 -11.11291802853828 +382 -10.466867097860572 -11.813768087778517 -5.173259434695347 +411 0.7301290344677116 10.560818068281625 -4.897615066355333 +444 11.635566770217789 5.8628817233330945 -6.825296665909813 +1536 13.732320664502472 -5.9707759357229975 17.827844218287492 +794 -14.675454311803067 8.686207409322032 5.611340639590794 +1092 -4.565898050697635 -0.5951696737822965 5.646667508014709 +1306 -1.4390842243679651 -1.9678871403579898 -0.039928894518725146 +1343 14.191172852214422 -15.067503823982532 -18.08974139586283 +1392 15.34913146424533 7.003692668601207 9.744084256171597 +1553 4.130046259007896 5.4702440642312045 -13.11077932307103 +1557 -8.194180511091545 7.3152141420912535 -6.379535498376787 +1614 11.705309738050662 -15.206801394824053 -7.682660185265888 +2167 -11.83788786031631 -12.972946188165418 -10.193826233723716 +2180 -15.354747572786081 -17.756094486967566 -15.67798820696223 +825 -8.337606213197008 5.656275055676178 -10.945080309388414 +2320 -16.651765803379334 13.772076759574286 -11.369026439377977 +2325 -14.759116443656678 -1.204463171312775 14.708337673292014 +2439 14.129568434338154 7.758654384434167 -0.1536711972563994 +2480 -6.308120447478964 -0.8285577936481624 -16.71963664651469 +2569 11.128313878713872 7.093388687158541 -11.262812174384964 +2593 8.587183965998383 18.71754959504086 17.98506575717836 +2700 14.010965393265018 13.241494260644316 7.140060552008796 +2701 7.552310431903999 -11.892938355604818 -4.8716354093614855 +2761 -9.099897022976865 -8.169443022876663 -15.342626371639286 +2855 -9.242907857568124 18.2148594906923 -4.227664962767661 +2925 -2.4800338821390833 -17.120718008695587 2.592342417080961 +2973 17.413979230425838 -14.117900282898614 -9.663213365673284 +2990 16.268246543716725 12.519939818362555 -9.381476005559046 +2747 16.507797673132806 1.774446957170662 -7.431980434012686 +140 -12.107358608385546 -6.599034241847654 6.673892695137238 +201 -2.199833709196224 5.204363823417576 -4.317528557259669 +2674 -11.945172344794743 -13.22423848676837 -0.817051034203779 +245 -10.385937185233544 -3.712434899820673 -12.565996281404402 +252 -0.10087108113594324 -12.653632682772818 -8.362051762523368 +348 9.845941971645075 11.59040255448325 3.8735754121569834 +425 -9.99041747105373 -3.9771646577097 -11.256997187887126 +489 -9.826767283354775 14.147629405998279 -1.9364586425808208 +501 2.8400904446213406 8.5483886631465 2.5625751139041273 +608 3.5909100764505886 -3.030610563569388 8.45871170329795 +645 9.39773295900155 -5.02058835241966 10.807942340564445 +715 -5.003559888498215 0.19987252414319567 -4.702303051222863 +741 -8.012692040625483 6.273436270878346 -2.9169070091360454 +792 16.001516705846388 14.887488953028708 -3.979664317528013 +897 -8.065748321730531 -2.6541742482313007 -7.780779617384079 +964 12.383344924951462 -14.047118509293488 10.892629188523124 +1005 3.143462932072194 -3.217714905410296 2.6024597644117975 +1265 -15.96960012858418 -4.62504067172961 -17.96662069261192 +1346 -6.025942954126146 -0.6271582733240971 -2.3978397864241474 +1430 -7.411006685381373 1.262118526218981 4.329046489249654 +1436 11.391431190097071 0.49449042331352483 -2.6920527228209785 +1578 -10.827920071111812 -9.023086877807136 -17.88863468934204 +1753 0.5407131226531857 -2.390039724299218 -1.2213215901430214 +1560 -4.688420438389605 -17.681192847494348 -10.98285589748325 +1662 3.596295333679797 9.92061115467185 3.9218415717980357 +1700 -13.065240551370662 13.633270916624916 7.3025254546019776 +1903 -14.298653488015935 16.77098551965116 -10.936523935079585 +1604 -8.146967862445228 16.957748492714263 -7.453041455552673 +2627 12.736027283561109 -15.252991001975564 -0.13093613270310553 +2598 -4.79082509432825 -14.303252022644694 10.571902514024517 +2636 -10.719344497499035 12.927540501665835 -17.615741897545462 +2745 15.69131304693078 -3.3247652799643856 5.248315878164249 +2816 16.22412391657581 15.618374336662017 17.673496904940293 +2931 -10.97431118591748 -0.258131355438166 7.340002683062928 +2955 -12.865599081909348 -1.5924930735580356 -0.8684823442463252 +50 13.808479045930847 -8.537119322604592 -3.9430838640297687 +109 10.848841200834725 -5.610112712729593 8.066617637428571 +190 -10.706808326750219 11.757122967438377 -10.905836414558879 +229 7.945911904341159 -7.311323143333409 6.844242969178564 +2618 -12.560131886040036 -1.8912890825459383 -6.026116136576891 +2487 -12.183646739235018 15.617939112854568 10.358690373127407 +441 -10.121518011129428 -10.24141566636925 -0.6934131792656747 +520 -11.910586400648496 4.837672129402697 1.5953394108938557 +541 -11.937814438174858 -2.0880517980182494 -6.829816290906897 +563 8.304711572300219 -5.023003413419765 -11.528756058373306 +579 2.9235829292549544 3.3818817185225916 12.547123388235297 +624 -12.44216959410301 8.609002110209925 15.857887371256705 +761 10.736246468582825 -3.4033860520881256 -11.861981291375606 +773 13.344266738529578 -15.608907726139686 -15.986759723112318 +2449 8.166264160290131 -0.9375619113219398 -6.679781486861239 +833 14.742981539910236 -15.761501057927372 2.3532305162082463 +878 11.481725278101226 3.329180221463233 14.56460767091975 +2395 -6.0280041851746375 3.9227540670582806 2.391826265848531 +1030 -9.075363341777946 -2.081600592797798 2.8699817734765007 +1033 -5.645572323848203 -0.4560549050997143 -10.356231279756178 +1927 3.9432184595530444 0.8972244185618253 -14.334699609987878 +1221 -14.582108126988654 -4.895400434320846 -15.51253216501187 +2010 -11.030860130773608 -10.043705814732489 -4.887220882132764 +1383 -17.94938698146815 -4.026513124237729 8.072091468756081 +1388 13.47029757224015 19.018663092781804 -16.293312122901018 +2693 7.107914511301633 5.012135408951659 8.482498156586042 +1523 19.603574072111766 -15.845591552042677 -4.940647720799733 +1592 17.705927532019654 -6.470616945705083 4.306819943207994 +1633 -15.705594319670132 3.709039065358274 16.241869354727122 +1702 -15.392177641507088 19.438124249923657 18.039315500456148 +1777 -15.678127293532555 -4.968923509182337 2.961870954724002 +1879 5.335112359305261 -3.7764781692740925 16.7561642957326 +1893 6.8996518070124795 -7.080126635129749 -10.34363882051355 +1156 13.609166006383683 -10.08934319227428 -6.9345709072638675 +1975 3.949119723528382 -17.49929966510069 -10.959900054534405 +1984 -0.47814513531245434 1.0100827864369943 1.2108057927072688 +2084 5.331025248762562 5.917500084356077 18.053839587067905 +2159 -2.805780532712712 -4.921514063525255 15.911972665289074 +2187 11.753057332183628 3.4265617499436094 11.001360440994153 +2203 -5.6269089361373785 3.930722183289508 18.732888046854363 +2378 -13.901847420976743 -16.116305633206387 -8.441591440803803 +2460 -4.0219416918589 13.815666959821472 15.777062811831048 +2493 2.6563712197153984 7.4041244326593905 -1.3991396709370458 +2529 -15.477529415784849 -4.120333429959384 -1.0448838990280536 +2588 -14.028677500583967 7.866787890236983 14.367122500261951 +2610 -9.822746551290425 -7.264467944596312 -12.319243805358777 +2711 5.5425349668493 -5.803722120323272 3.603694428605922 +2789 6.306917224000265 -14.142529931602017 7.509529172691217 +1999 -14.49704960453033 13.734373916289348 -17.95235237093653 +212 10.476278977463258 -13.857749869881305 7.187515599076229 +287 10.113123568019603 -4.847534960480137 8.04616443989734 +361 -0.24647840767347595 -9.216998442794416 5.7370761016199685 +469 3.4950468097846263 2.5188938210118157 -13.084593326715638 +595 -2.1920389586429376 -4.631733245677558 1.2898689778316594 +1946 -14.459426315930537 18.980624254600432 10.669318293650086 +1141 -8.23485306422501 -0.2542619761920154 13.499801931651994 +1144 -6.342941524613262 -16.00793242927225 12.960500608455403 +1262 3.4599860368397373 -7.8344316369834415 10.591508482380757 +1917 10.269646325185564 -1.4998768195095027 -11.988003446596455 +1581 0.45145168912973377 -13.272095201677313 17.9086155115698 +1136 -8.09798232475525 11.419240701571324 1.9620705501332345 +1824 -16.78799260717584 -2.5965054490393538 16.888251646055227 +2045 10.117180327748947 -16.449428530674407 -2.6359013323825016 +2090 -7.900168642363044 10.451847739484121 -3.5940239957768454 +2110 -9.908723465882545 -2.1366363155575003 -14.309691259812404 +2430 16.76109818457816 -13.043317572496246 -17.13500550992261 +2607 -5.57369692614645 -3.174545064385207 -17.546988088644586 +2626 17.18285960183741 -18.436263300839144 -2.912651805507061 +2793 -5.135096032349833 0.10243336398752613 -7.567256651487599 +2812 6.315726130502188 16.3296939290821 18.950002126962335 +2873 18.176311608447133 -17.716004054093233 -8.15946661889428 +2932 -2.620234167785995 17.307458040141682 -8.83806370302737 +131 -12.105365509941846 -1.269522622204203 3.965006881624604 +1772 -8.609397839158618 5.115599206216999 -16.287476962864563 +180 -7.3296318488487975 12.446930931012556 5.445604762419093 +1489 -8.388223330992385 -0.941586422055041 4.066311766731952 +392 -11.10746892531578 10.124490624941464 13.723958784445067 +408 -9.652288244001426 -11.075018164005135 -11.30911089874563 +449 -2.603555364250931 8.461542915123815 7.70777212563438 +1239 -8.492000090804387 18.568427175714536 -19.15501379901424 +543 7.776424714279205 -10.86464022743446 3.4511285901405384 +734 13.426941513425875 0.6782246016285828 -8.230391543731251 +1035 -2.8192701105782154 -5.9377800903376015 -4.664591944581242 +817 -16.03947473064111 3.4210841258335956 -10.209682266970013 +1026 -0.880166311866974 -13.232757203538856 -1.7190983135653002 +1107 14.230716498816616 6.317612079932701 -12.459789355167908 +967 10.467034947860615 -16.007184094730057 -7.158140963610276 +1244 16.570286317882353 -6.190510192001573 8.898320749984192 +1482 11.092694477546894 -3.6665481401890934 -16.91492034794748 +1561 -15.326046052852229 -5.685919827543497 -15.337322014186627 +1616 11.559004638668505 -4.99618464947382 15.100156944594893 +1765 -4.427516495667969 16.905866938560095 -17.17982553179369 +1783 6.934267293390322 -13.192985668705148 14.93976871311986 +1874 7.772876955388822 11.024500048066932 18.68279611722785 +1978 16.69547212132451 -18.61593064936134 -4.7190403431629155 +2146 9.76622821972763 3.2449003876028804 14.874604227645982 +2564 15.99957728624616 4.193325336703003 3.492536786228503 +2574 1.6318253036553452 -6.4021775046527125 17.970851110733303 +2702 10.237558119050954 7.895958689734763 -4.868543781796825 +955 -6.168218723461462 10.623066706838786 -6.71106782663822 +2946 -8.566833107745792 15.026633758323301 -11.875692416415145 +2982 -2.8946296835251175 -8.874334016365543 13.040285498264197 +182 8.860462350447651 11.708836187130744 -5.5754292595345945 +300 5.818945290854342 -9.42040692278001 -4.561482256341947 +940 9.015797767989115 -15.808900044996063 -9.579939801933653 +727 3.2849920544477427 -11.338471398225224 -10.264385337779299 +893 2.7462063940577996 -9.944703878204873 4.521764175886899 +894 10.74309542497159 13.619323305726018 -0.31275331956407804 +953 6.944845145172327 -1.175894528693473 -11.217702613224118 +996 13.702961445789319 -3.0726037923786387 -10.70758021663667 +1043 -7.841528772937672 5.775256700409939 -5.670490855053661 +865 -4.928970783754255 11.374747492459976 6.170410138332788 +1226 -8.7149685854092 -5.5259172692977625 8.70013949864718 +1360 -12.952273591989044 -8.189148804165473 6.199510658956468 +1422 7.924826951537728 17.30161811667948 10.589410384972089 +1424 -6.130089527332295 12.667401608920484 -0.15158415975578474 +1591 -17.928939328558215 -13.100013818537006 9.796751593066976 +800 12.89116817704781 -12.691678656221177 2.727784538216562 +1826 10.295373313874991 -0.22962621274959158 16.109664981086954 +2224 -18.062744341003466 11.23445121340134 -19.233022195860325 +2226 -17.97353523216052 -17.955936786838453 -3.827580910538202 +2262 15.39718203780663 -8.463791507024487 15.056267250797985 +2300 9.796629808134991 4.695103308898721 10.375062413418856 +2644 0.47046808773398235 -7.207664439348257 1.744727161073816 +636 -8.052143039161027 -2.8614916616249655 6.296777306482152 +558 14.007644918359746 -13.207078322707174 13.648566584113452 +27 6.088247036713229 9.775007945850705 -0.9846925777399428 +87 8.068566803223527 -2.1504940527887615 14.10597687923888 +94 -2.213538759780814 0.2115300373049879 -4.931573241218711 +117 -10.520667901202888 13.5164296178912 9.01091185234262 +128 10.965993396633689 -8.427732574031968 3.5678943597927204 +286 13.341053663296316 -5.5457205668381055 -8.265849386127435 +386 7.635860353893008 -7.176355652809565 -6.405151611043321 +434 -8.75441595563689 9.320283233743556 -9.881075657352538 +546 -0.14029141450635846 0.8526785278998231 10.486429357366942 +654 16.472603462988555 -12.661137879806423 -7.107789822579373 +795 13.550596172497036 -13.595534643550659 15.213809056934545 +824 15.401910605064096 7.645021703191567 -1.2902031393333322 +883 8.467878105268392 -4.450808584838506 7.197730819725946 +1020 14.04999966754842 9.728549668459125 -0.7448294218387695 +1022 -7.197942324411125 0.18972336537744017 -11.799713313667656 +1049 -11.022115664268602 7.448238250647428 -6.343767553809725 +1088 14.03884789792485 -14.219741281315883 -13.139080592404964 +1140 -5.474585592528256 -3.9212812102093464 13.679455631832766 +1478 -12.653564583961018 -4.493740144436577 -6.007922533079422 +1812 12.802281772250323 0.881568370436692 -3.1147424423296597 +1898 -11.95401716862183 -5.107102258995298 -7.02004538004412 +1929 -9.944426290877422 -14.298677418366063 9.071231480223009 +1994 -15.901334105430012 6.124355880737789 6.500200430814176 +2140 1.5803262836146608 -9.699710735638641 15.26375530525667 +2154 -17.77661083169464 -0.46143423848621967 0.22141109329066466 +2348 -9.62964584939874 -14.841844760359992 12.031973957666489 +2432 3.8329229424834756 -10.767470066794505 19.83701472827256 +2546 -17.239058053848346 -19.400111200464337 -15.585978404538546 +2571 -9.171202495020573 8.383188082915076 -7.345850232015071 +2661 -7.745584435275727 -17.383896094821054 8.16979958766742 +2695 3.3335788435847755 -15.936909763450323 -11.197946525436567 +2729 -5.01422863023378 -6.516313036398453 -19.039947464676825 +2880 -14.300256134395086 -10.164692174737457 -0.2677997207435715 +2901 0.4019676529312668 17.296205003464316 -2.002738277524109 +2992 -9.148492707649874 -1.8636413017394708 -11.666134991107652 +2994 -12.213948131445669 15.851733669633655 -18.751473653273266 +243 4.91374783971842 -12.087249401001925 -10.109181227889811 +246 -10.268831226779026 -7.307165809245157 -7.788924780461087 +343 6.481096501621047 -7.200107402818182 -11.241899074978477 +394 -4.830848646556496 10.271771717114028 10.24980964878167 +474 1.1253369187497826 5.055163219043113 -4.936127075292196 +497 -0.7945678742761515 -9.859150605129692 1.6188564850643175 +513 -6.072398485903261 -11.770874693666734 11.52366731116099 +539 4.2819273693696704 -11.571685341848738 7.248326403579992 +554 -0.10470085807085436 7.484788143095296 13.622276121879677 +640 -11.903552659545637 4.379459522203887 10.82269494966029 +682 14.388334121102051 7.02907179086914 11.03999106031263 +709 12.687565502959789 -1.572298667821185 -3.618423497564743 +832 -3.358441867195202 -11.033131858266088 -11.679072211850785 +1006 -8.848528633931558 -15.09099187695129 -8.484541657547098 +1067 -3.948063150182388 -13.94026753938137 8.462368251831888 +1076 -10.493431842676214 -0.2476328262321252 -5.8676755833641945 +1133 5.760603806160536 7.083156337319274 4.5537570115061055 +1149 -9.761330181105839 10.526509443883581 5.246024821284683 +1213 -0.3095620959924757 12.487599424423555 -4.224160924737243 +1261 -5.324585966273329 -10.020057723743363 0.6360186481103347 +1294 15.813760701849779 16.615797178774507 6.745543301914807 +1317 4.638965646683966 14.799471952507545 11.132049333471105 +1529 -11.489704324690628 -0.8126262151074161 15.8842684534006 +1659 10.123802621076447 16.46541027979559 -12.453623202995791 +2675 -1.0291020106988504 -9.368794746093823 11.559586304067638 +1989 13.340124589797542 -13.182411338068437 -3.3025691376384727 +2072 -18.693296308526588 -4.3363723994014745 12.939255921058663 +2073 1.58174049179144 14.06888609151434 -0.4084512177877912 +2107 7.978170311624776 12.403951934524851 0.8612889541397825 +2129 -13.550383454570564 11.98519189525053 17.505371902769458 +2182 -0.6242491670262806 14.600043833417729 -9.2494295549954 +2223 -7.021958286058973 -5.236203653151981 17.98208708303109 +2259 12.490898766619008 19.33241742665255 5.110752541056751 +2276 11.186244217036087 0.9030205586586506 4.694981852573619 +2377 -0.4938467371182775 11.464419242751857 4.92343500303314 +2431 15.881986245010449 -12.508176091864032 1.7856903958999064 +2526 -13.892753201698287 19.15117006258616 15.942065324548585 +2528 -10.746491498079367 -12.208849955567244 15.853173868675352 +2537 6.701823359442057 -0.5759262971359115 -3.588512584434999 +2648 8.061550812423002 2.8312162438521793 -0.7498044754124391 +2764 19.428815333441232 -13.539019457516575 -0.2827791251541446 +2771 13.7333077339201 10.61889976631786 -17.848234214028786 +2829 15.575510443928954 10.032014688371353 -4.984051015901109 +2845 7.070220045075763 -1.4303972908334177 19.156780412734314 +2859 16.695176387413497 15.606692080648733 17.294932951688345 +2894 -16.70625740458039 -0.6287454613829163 10.11931308137501 +2939 15.923912567869383 -13.326874104978296 -1.3208931028037045 +2972 -6.46176757374297 3.563680865661692 3.174006543152036 +170 -12.614044152982537 12.590676578100435 -1.111782064256543 +288 2.1781388217789215 9.68256338665305 -5.433233212776059 +299 -7.542566822061701 11.04756444344787 6.985474498373441 +439 10.564142353690073 -1.8996696548423513 4.437544619219586 +504 -5.0554954276235415 9.211508090464417 -7.112803713575126 +575 -9.194340113461994 -4.339629340253714 9.362264723801198 +1379 18.735567776783416 14.570022370034964 -4.310871187886037 +1393 -5.227507075827184 14.670928536187285 6.319092720900287 +1451 -7.899364280436356 -15.222263931059627 6.789651310266364 +1474 -1.1881682729002285 -17.66992864140489 -17.63045701395521 +1497 -7.426278374325694 18.942000445836754 -11.392674439113735 +1629 1.394900081121298 9.283909750517138 2.576504208985093 +1796 -9.758361205312664 16.648432448842875 6.544211327332821 +1892 8.706974140370443 -6.006163498586369 10.964413759607577 +1990 4.630195741870993 -15.01725052190223 3.464032647326967 +2007 8.647232386216588 8.932761320002562 18.97124098306347 +2030 11.638318852942325 -4.524952811018421 18.103106239496068 +2105 9.406958203069602 0.7192065658972778 11.581988731848401 +2220 -7.115263667282643 -5.698842983339401 2.621333958465067 +2269 13.166412052726304 6.707671035723071 12.022367168226912 +2374 -7.303496348820194 5.309306779499018 -13.665166321260767 +2645 -18.354781048859007 2.1013238354437007 -0.6354474352442133 +2760 -10.11126403655532 3.556956186056681 7.731384138962739 +2862 -8.734684185560273 15.851194143227993 11.373728619154868 +70 -0.6993286906291821 13.39014922587603 -0.7465924739967591 +420 -1.7069107724795485 8.222947671727242 -2.436346484291507 +924 1.8737020933188886 6.334713604747465 13.398336424787727 +1059 -3.133319021621936 12.578008078691594 -9.391154931312087 +2425 -3.5257695964903033 4.866265898390417 -13.178966357310925 +2206 9.480250644171933 17.561564428319613 -10.111457988272342 +2271 -9.81592070820302 -10.121590891778727 18.661056663407315 +786 1.1528645330083143 -11.2990801282081 -2.1333146144176434 +494 0.39694274349901637 -11.939377362774884 -3.6513000259653166 +1275 -6.326624531431515 1.7174837950321147 15.013717813449434 +2424 11.556631759121835 -5.684148617945258 14.43139770342603 +2068 7.708847899056253 -6.900240278527317 -4.856381478322337 +1665 -0.007267232165389344 -1.9355586458580158 -5.397237847053612 +907 11.702427284573048 -14.664822396833708 -6.256238097310716 +1721 -19.194951873456123 -9.161599103923603 5.717735315251648 +1921 -15.576603743602048 16.037409559589157 5.654425609209294 +566 -0.3458024409929771 11.553608974488606 5.190742762151839 +1016 -12.082787544512346 0.0015683771254084917 -2.618279261603792 +1259 13.182851565757142 8.655408538156003 -17.720299968683705 +736 -8.80010100088741 14.130631350705949 -5.78019991754976 +841 2.2358442155594034 11.419920674898192 13.390382254817295 +2633 -6.563218905759018 -16.22888571481427 -19.309939549202692 +259 7.151785972556724 -2.3197388411130198 -13.5417881230235 +697 -1.4839993890881846 6.569683205866268 6.328495479222858 +1146 16.20576377193383 14.59840529899311 9.080495491700239 +622 6.6533351399743506 3.8004815171098856 -9.378270516996926 +1588 -1.8581027479289876 10.331850401718834 17.647893947826976 +1775 -15.404794861265573 3.3456246310432154 -16.746029456269383 +2144 -9.409729232392024 -2.8473845341469195 -5.983116509868738 +1118 -8.545096691609514 -15.870772014862004 -3.1933302117690476 +2482 15.597050071126949 19.311325853485368 3.361885471887985 +2657 15.716402302341232 -12.77289789294439 -18.582069680415195 +149 -8.761528269220092 2.457604535415645 -0.9393411670464221 +1078 15.493353291996634 7.814950510447619 10.159941036445945 +490 -4.218199215456702 -2.5980158392345682 13.595189695238608 +239 -1.9523242468316617 -3.8412029134350067 -7.795968977581958 +1859 -4.441116295178436 -15.700850571868223 -2.246393417606417 +2176 -0.49305763275451164 -14.466126287841186 16.655707424656885 +2750 -3.847760824258749 1.796815785461781 15.783713503206286 +2543 14.169799105386529 17.634158963672924 -4.998802049636014 +2060 -0.5092779369477036 -12.729620856001274 3.300683919375316 +292 -10.470778829668705 6.947237183857842 -7.078640218668448 +729 -6.884130469964869 10.385625185489124 -8.490889978416417 +123 7.647205752107495 -13.673705327410609 1.8898093041877682 +744 -3.742891350211823 1.312651180184073 -4.286358368739132 +840 -8.584247129175852 12.741728484804135 -4.19790810646247 +886 12.804540266429482 2.6685376040373896 -4.945687902722988 +2230 -4.4251233031218575 17.935231488652192 -0.7727865628295668 +1589 8.94848270925566 16.147028797957628 5.9529039652274855 +241 -4.9019398819000894 -1.4818759099484968 12.342028064988456 +1337 15.365436980832403 6.699351940792594 -10.217593611113875 +2316 -17.578404175420324 -0.6090808901145381 -12.11544076260748 +527 7.112846612504373 -8.898202997326544 11.718282589409762 +2266 17.486473660835806 -10.68770812700199 -11.359853212934576 +2924 15.753500062801823 -16.359198990182943 -14.675894616023884 +303 8.958800144489341 2.5309991512973746 -6.809764682748036 +2828 16.65943098359769 2.7290287344250883 6.277717769134021 +1077 -8.463748976902567 10.808359933230024 1.401666972377779 +1816 -4.310329706847026 -12.37992454031203 1.6932758482932713 +2677 1.8176520901781346 -18.653182208246278 -3.717629363909321 +1333 -7.08770549728234 -12.844950657059217 -14.58917641383218 +1072 -14.93332919834124 -9.55818123856331 -5.676375689928116 +1845 -4.581981653613005 7.5494471347963 11.072115655236269 +427 -7.659537701885546 -11.255932025071985 -9.731030096661124 +1944 17.819084426158856 14.092219376638802 -0.17615385499722067 +36 -5.259094405468257 -4.288747785760595 -8.694760543055965 +114 6.8942594551364875 7.380147116854856 1.3671713641944259 +864 6.949349936109253 9.144326302745656 -11.016870151779132 +257 1.4346920101792757 -6.785190998031536 4.640117036198736 +380 14.123234003342901 14.041086181965776 10.17518615577884 +430 9.053624411915159 -9.36169187018311 -3.6348805874806285 +517 -6.785534403071378 2.3321769305527797 3.6359481754399874 +547 2.3834539199778764 -4.311333790659128 6.06117005818798 +614 5.221507673186424 3.258811135234941 8.92378344997746 +631 -2.6628715408069565 6.980964237519824 -12.80205273635173 +610 -8.098812083747235 -2.5265186767134598 12.492896406090216 +823 7.354376784397804 15.683319162406667 -1.084526395107473 +852 7.369506933149863 8.408527456542524 14.158106123532049 +107 -12.077018030234731 -3.697827886536448 7.586124597480009 +913 13.714766696865672 -0.8371502884782636 -7.029896069695645 +1254 16.199246058714813 -10.573557009181204 -13.28012204666933 +1068 -1.4180514007899918 3.29691496107213 -4.5832201588093895 +1237 -8.941081561528703 -4.083517386892669 -9.366009235167253 +1316 12.27420164139446 -16.93808956142455 14.972895054056137 +1413 9.893337698893216 -16.04232475845451 -19.2217518027926 +1420 -8.913625230285708 -12.941229054721422 13.36674211828193 +1431 -9.568842617832 -11.94051870056718 18.498980828668667 +1491 16.92454553916861 -9.495209038860718 3.3377866805204053 +193 -7.782994048071663 -1.7181920260976755 12.334707178351625 +1631 7.820085880897775 -18.588562943388148 -15.066276920560313 +1642 -15.685438367272395 -10.267072137515054 3.5251590618174418 +1743 -15.63205191734556 -14.440527382377354 15.773263258897702 +1747 14.116267288846437 19.36443753952488 -5.4295264273309645 +1762 9.34400175706067 0.8218279485819886 11.84657432815353 +1991 -7.245109451653379 6.792323152187167 -15.371346598513323 +1818 6.480016447193471 -5.147556081026763 18.546974040363622 +1996 -3.594631047862615 -15.890492716407483 -14.927088324489382 +2003 -18.618916875570022 -8.417965015270008 1.4016627203155827 +2048 1.266245591203011 2.604139175912801 -15.510895809639036 +2096 14.828864045137088 2.913213361860916 5.619967863401242 +2245 12.514536564228365 -14.510366449318495 17.77874235118903 +1476 1.6291264123305698 -12.569421427742077 -8.546082823981616 +565 -13.729946127186164 -10.32534464465142 -2.8630549859494177 +2396 0.97262034473882 5.96546597479302 1.1630861403552037 +2413 -8.213510784776117 -4.0245150952710596 2.4599417391982077 +2433 -0.7467558263722274 -6.3322060290763975 18.190763949850638 +1503 -13.773179772322965 -9.215376191262889 3.325747569091051 +2570 -17.388483251845592 16.75705326587489 -9.937777718391594 +2578 3.9961058448170395 -11.664010614635423 1.8006949679890327 +2817 8.134134616380381 7.763509611066274 3.0620776638200664 +2912 18.71776116056373 -10.354618427508804 -17.72350168431003 +2978 2.4474292436147214 -16.10465894775547 -8.660861929221802 +2984 -9.510740850934978 -15.249686772317016 16.210229166121984 +43 1.2249386122415553 -11.04880968287854 6.649422541407198 +44 -8.507510713707678 -9.880416360044315 10.395734642271778 +46 2.9401299041084537 -0.19805115507945797 12.518337644087708 +97 -8.395784512909755 8.781241490702289 0.699392458669073 +992 1.5637598338399867 -4.216706044488424 -14.444800465733971 +110 7.913102645506185 4.633342089953609 3.976625073612838 +1307 8.78618306650969 -7.304509337911342 -19.01355752027785 +195 -0.37008448415373796 -2.1957754975261756 13.61007111568477 +316 11.033235979712257 -5.021395717998631 -12.67671303899194 +347 8.218264042586773 6.81504872169748 -3.459103780642201 +385 -13.375540082541706 2.6248298077042267 -7.2335821764085475 +442 -13.375588615357152 1.8091387784696706 1.5038302889215172 +542 5.12206238396486 -3.837950781939744 -9.474382783985172 +440 -1.1277697219797465 -4.452314155975574 2.7576597700631647 +2930 18.804410010196687 -4.189237825166094 16.669623033819054 +2533 17.74405486771611 7.24715294624413 -13.68639950140249 +743 14.786166568098828 -9.260537192171853 -5.64562206500774 +831 -14.262332186251516 -12.196975885398478 12.438597184108659 +1794 -2.5724252513905603 -2.221558122221736 8.551339313209583 +916 11.977821293122854 3.7603478960600634 2.709865175753158 +920 9.202988680402484 -8.497656494797276 -0.7026285972230693 +1073 2.515338176579429 0.6652914666254408 3.2737100175025264 +1087 -4.554643160692905 -7.60963470061163 14.949164720080308 +1671 -9.240173888449165 -14.221366671759572 15.063204806256987 +1198 13.687470200613232 -1.866759685090254 -15.543807107875937 +1209 -10.539306788062486 -18.234437645542958 18.571195531008154 +1223 16.365338629399705 -1.7603241486345218 0.2922640581392598 +1247 -0.8059264987061932 18.204890936405523 -14.997066571065512 +1354 18.129017835557764 10.471029014671439 5.241487498233247 +1358 -7.110258420115571 0.03830100884378384 11.964882474846629 +1382 19.449316314818706 17.476793974489492 15.29335966775062 +1532 2.661408953081043 13.68726396418199 13.324156581101487 +1403 -15.457608349553166 17.148846146704102 -9.50262178519575 +1590 4.26004575054961 -4.437565648645635 -2.515713512339425 +1594 1.9956496480939099 -5.717941820235182 -4.828637169704507 +1798 -17.01122398447963 8.083903156638723 18.472305680997206 +157 10.932573516278516 -6.745783230725227 -9.077392013935178 +993 -7.977564987923156 8.12760702990445 0.9381276892631076 +1673 5.268994422154075 -17.61601584205855 -12.957557565250864 +1738 17.604878828108447 19.69680960429115 15.33856081843333 +1752 -9.854311455867983 10.926496834018147 17.649725640156706 +1755 3.1889327851624283 -17.035814178944605 18.622196435421017 +1123 -6.869699950292232 -8.64783245829943 -7.125730028362106 +1890 -8.94830105338966 -7.842449376795514 -6.583576821919378 +1902 14.6185954823424 -3.6984900124247577 -5.059650999139505 +706 0.024545286869555646 -11.33852080404788 -11.09474899917738 +1969 18.220032939782357 11.63400539383134 -5.932771589408205 +2054 4.505538167667697 6.286118752929773 -18.262786706566953 +2301 17.506287230601437 8.774778344768725 -10.31611142114852 +2310 -13.203761957575827 -2.1076714019058187 2.187341615199521 +2405 -9.386834054681405 -9.978358475762288 -3.999126837173004 +2466 -15.813922012637427 -14.075458305514765 -1.8153057785090467 +2561 -12.290373410133089 -14.451202912997811 -6.878289589507331 +2581 7.523249848222601 9.19512515233638 -0.2913796637183982 +2663 -18.093841061057496 -1.8988292934897266 -15.175373751654725 +2668 19.68719604756912 17.833159925752913 8.20344897465132 +2733 -2.692020253061783 -13.410600018020402 2.446499004982619 +2810 -1.9028526507130445 2.887663185694936 7.3214053381695425 +309 1.6157729684180155 -5.554869632164958 6.976773207295493 +2850 -13.659022358019875 -11.029820046867252 0.13942775454030923 +1565 11.451716102540585 -5.3155730209606755 16.583889783966864 +2983 14.285873971933437 8.85331239750872 16.235968090751783 +2986 17.19616047356903 9.146375030465459 3.4187960720872783 +2988 0.9940534427564559 13.45434120556763 17.893609789688252 +62 -6.424412400542199 -12.685014066826382 -0.5875890016864738 +143 10.940558476117426 -13.385032836325687 8.627412103161086 +230 -1.7058763020767629 -2.559202192291208 -10.107700294935837 +302 6.9799526799620555 11.03298665478873 -12.675468106690813 +2469 -11.953712820392994 0.00807842304066916 13.523176323124353 +387 -12.336119752323706 7.696087127567358 -12.474420157912792 +694 -7.787657105443593 -4.288833962778096 15.745485303182809 +544 11.420950567809856 4.375590078579221 9.886634144129022 +617 -4.774660626273361 -10.806453543828127 5.378932711345248 +1968 -5.885243804573801 12.522093908837073 -12.370699972818429 +816 12.262661953793353 -15.220000954856925 13.885200904751317 +1675 -18.893963429328995 -6.34873049899169 14.815156090325031 +1121 -7.927686452790892 -3.6572587929372036 4.461792434653988 +1031 8.055547203689676 -2.9654242014260803 -7.614707326635697 +1204 -19.090927798769517 14.678030968229354 8.110600334778985 +1340 -5.155266749542309 13.830392661621763 -11.079225037493368 +1460 -5.23160864090318 -15.071053123682866 0.6432236854379959 +1472 -19.201556463630467 -2.5858784469593448 -0.4688372572123537 +1597 8.778499460025365 -18.8638158027587 -16.464420818154302 +1607 2.874356367961168 -13.063610806458943 -5.466185569358864 +1736 3.7808495190003484 15.474020617525442 -17.70508370703436 +1839 8.465850094922102 17.49635218083357 -8.729069458967874 +2067 -5.074325633744453 2.451935842167082 13.147163704503122 +933 -9.942114627553822 12.801038705670747 11.751967317118186 +2241 15.95172725108366 -16.161764191386073 11.396872681298001 +2314 17.746066201423655 1.8586159965617808 -3.7517479939558016 +129 2.108666457520993 -3.0312118272692308 0.34165109466027654 +2720 14.659887521299622 -15.177597561607508 12.829893816427063 +2744 18.563313687521166 -19.413808075306367 -10.631218440176179 +2831 16.562708090785968 -15.978705283733333 -8.180849618813562 +2837 -10.18790153407249 8.880280304231439 -0.8306944893249093 +576 9.607880339995864 10.414696582473841 -10.1024556814948 +9 4.256817579365978 -11.06451707937572 -3.828345073973263 +67 -3.6786970009326465 -5.439339744099672 5.061521189701674 +75 5.139161281865819 1.858287003134529 10.651718445775668 +220 -8.654830396027009 -7.054851821139852 7.578184760042488 +258 -4.880922313310085 13.738472298602009 -5.527445284644423 +423 10.018499596834836 10.411534984354853 -6.902447420016746 +431 13.257011419916468 -9.61900887012736 9.586365589396316 +526 -3.611858105942792 -8.817788595018412 11.155433847652125 +572 -7.249639432812499 4.791758918577924 -9.518658982944885 +668 4.475241506899801 15.989039880848404 3.9072534879126883 +813 5.989501043431795 -3.9572031257108904 -1.5339741936370068 +1029 -12.151154712896655 -4.68892286276313 -5.889111087428858 +1108 4.285943120226897 5.953376673333026 12.66497379568629 +912 -12.93373345847637 -13.738010287091985 7.426384316530359 +1189 -10.291838790390964 -12.446826231022515 -1.7209332108007913 +1222 6.447783768728602 1.8201329734923468 15.745467008863505 +1359 7.9706652697285385 3.8457805016419866 2.0668572034637833 +646 -10.610010674429976 2.1659552515725173 16.390871905004232 +1508 -6.238937236735438 -13.857011999254714 -14.5323582715441 +1566 -1.7512062727660398 4.061870134953308 -11.06577496650709 +1650 10.115471480701556 -5.9769982837946385 -8.365114676966856 +1679 0.7203007339835018 -1.9237941705612769 -3.6368143967656783 +1779 -12.71153408822825 1.0383659461855703 6.249600818267668 +1811 16.861747618508424 -6.728252119826496 -14.535068551289045 +1814 -4.078729191266423 0.02070615518700772 -9.400664927778495 +1836 -14.998908062195534 5.499129003432253 2.042122960151397 +1852 -4.86155844426369 11.86503535686158 -3.1214176078578606 +1458 7.692800903257225 -2.250940666031757 -14.964803632984221 +2221 17.392198055566013 11.736119572052898 -14.19277140533992 +2347 -6.804044698703424 12.28635979824874 -15.85861681844993 +847 -13.026199949765997 1.580881298772952 -8.176985980969011 +2492 -18.844034697223606 9.749995975876704 -2.516820652937041 +2521 -17.104299352467034 11.487096288414563 -5.873684267899445 +244 -13.59031885676441 -1.5948063279504794 1.6095855892537128 +2650 -4.376433718734446 13.207602267459531 -13.780352891034235 +2683 -1.8395682218532836 8.297449576868969 1.7889138298275211 +2785 -6.15944515139912 -10.396301213382516 -12.811677560552445 +2902 -18.819133715759463 -2.8624568527355305 15.047582978144389 +2948 -15.291311024563925 -9.789637971976685 -6.80844807697596 +2952 15.693608306363677 -3.941362563633687 -10.944271637928725 +83 -6.533583519127488 11.596594830172304 -4.726822776418071 +177 -3.2757318544179808 6.75733605537726 12.46140070267905 +2669 7.903236769974542 7.172639735851888 -11.853204246970972 +518 -9.019104827908148 11.316446905132214 -9.03451367811316 +685 -1.9706413525346305 1.5532592417482856 -14.678295276402329 +714 -0.6062230683783465 13.505304928828313 12.43849930120146 +914 10.244870437686854 10.102419027774358 5.264649826787439 +1062 -6.295330100119756 -0.5043263122128026 -4.256265061393067 +1091 2.188063303972576 -6.9322550195675605 -11.199713701978618 +1178 -2.060977653543948 -12.717541576680162 -6.90361672058637 +1242 -15.432759035745288 3.668015019288569 -6.967889208008011 +1279 -8.799012260925053 -7.099159057825198 -16.677386483707778 +1371 8.888437647161352 -13.204765511068851 12.921070968380363 +1386 11.849621626643913 19.468733275484347 -16.217107914619923 +882 -7.7691855701079815 11.899158418365026 -7.948218310277356 +1577 -2.7150553039329823 -8.630474286234946 -3.6766002989044417 +1795 15.135793630960835 -12.000217255377203 -5.029065553448785 +1734 13.78586720933596 -7.453516084469952 -15.016502297140715 +1769 10.845653125781338 -1.2301545894398358 14.035921508202053 +1926 6.607633003067497 -15.912342988316624 9.765617422631223 +1939 -14.147111996688688 16.18236305060414 11.920349609070087 +997 -5.341166257045596 15.136275101800276 -7.7060904220767465 +2013 17.725151185270494 3.0771426619826 17.26813494048387 +2028 15.926056693476244 -16.48357760284404 11.315981298585033 +977 2.242000302864197 -15.89832088427819 -8.46457537150419 +2349 -1.020437576527185 18.675282659865132 13.079092562039014 +2384 4.183368795076655 0.22258860657866947 13.037754385379555 +2577 -13.146467691721307 -18.988509495044564 4.231911842996415 +2778 -16.786450023762697 -15.863328596695547 10.497023377631548 +802 14.015383390358727 -16.23691727243059 -10.16743229536031 +2851 5.370645726798052 5.537490696025236 19.698729212020485 +2893 14.76528742299695 -7.407465492697368 14.288364749018669 +37 12.537753520939834 -13.902623730787798 13.54187128184789 +96 0.277974803904371 -11.470469551850984 -9.896020445915305 +207 13.853157385175965 9.990886355618668 -6.451975756580101 +254 -6.096395103641281 7.445379837992924 -0.8377474900540064 +402 3.305098197846772 -6.907613647716517 3.38270020609383 +472 2.9748092372584547 -8.880871299315158 -6.841302093244776 +237 -6.775733883074466 -1.9614470231582044 8.379590509208308 +877 10.273959383275376 8.561824193262957 7.640242588862162 +742 -14.576959792491964 -3.4073178877343775 -12.552542552481096 +812 8.796602433567932 -5.188160494322363 6.270372535846724 +1908 18.902939920427766 5.696015387745538 18.8976880318497 +1152 8.534595149626389 5.201948367452092 4.026922825157323 +1158 14.038874496375444 -13.772701122159505 12.903723345706561 +1183 -11.758289644543982 -6.377564049054543 -6.840135765225024 +1249 11.709186564334988 10.75799539345873 7.543639370926607 +1278 -16.644769517253486 13.779589959521514 -2.6737426435261695 +1504 -19.01408759102342 12.761657667719115 16.28909317278553 +1559 16.70217265528867 15.613898541528915 -18.358169324679647 +1369 -12.188015074403413 -18.60764749000669 16.916951213167025 +1691 15.551831582304553 3.991613091091035 -16.085233987671483 +673 7.451368057331642 11.020632225366278 5.208956629796635 +1774 -5.305383100539437 -0.8216739134194933 -18.60132936049523 +1851 5.452399307821566 7.8141369241956 -8.291167164445865 +1863 13.208021908909297 0.5701176000552144 14.197184457949552 +1909 6.777554072253678 18.05344161097871 -12.859411813443195 +2971 14.946692144368985 -15.59407404013055 -10.53226283298914 +2138 14.062533054088183 17.69267312278503 -1.3768941624457722 +2227 -0.8125925936497376 -15.446121634971549 6.943388613107411 +2386 15.878658471983275 9.947987785224312 -6.275399601814546 +2426 -5.52728117490142 -6.925465337198187 2.309305736778702 +2478 -15.10599730097044 8.529331244072573 18.914859853148826 +2553 -0.7004741445736492 -12.336431488399105 -11.98642952677716 +2575 -10.940617887813493 17.322813864690165 14.089144048831507 +2640 -0.16065622090548956 6.795197377730847 -6.257260458326362 +2690 -6.51370342365036 -7.075651935037049 -13.52339950731727 +2945 -1.4991287206914012 7.882850034094899 9.972416313413422 +13 2.063838112525206 4.088129766703488 -4.646366609654701 +40 1.577407554817761 -2.48701576805761 -8.115706917208854 +51 -11.881069516194673 -6.104941480641003 1.1852228228531532 +710 -1.7446004112719813 7.898933207438018 15.733419777056131 +77 0.9006295897162229 2.977269919164659 0.8436471756400712 +146 -6.241115525768944 -2.380277428990028 11.220440602624867 +185 -7.414507361318954 -5.631110973129233 -6.829217815707537 +227 -2.3325686246245754 -0.360339813667418 -10.891730574737528 +271 -4.927004221577964 -0.21082402144906326 -4.9757699644138835 +308 -6.296975851927239 -11.664479691476002 -3.0791419818879895 +390 1.3407529550732757 -8.18323044101815 0.3151310722094361 +397 0.7417094626787384 8.013617545525111 0.41396289096145367 +350 7.605007544667583 9.481864244531353 1.6355559841280924 +495 -9.188045879509565 -11.226414996331414 7.497275244314924 +506 -3.63841161603629 -4.406729958288604 8.341934356796404 +822 -8.125668129755098 3.8465191872554882 12.371146497540943 +876 5.428982210798833 -8.177959044215815 10.324786799099588 +908 0.14612366814670244 4.883519512234402 14.320789707728677 +1224 -12.64908946410283 -7.666445832698271 12.0312958903994 +1227 7.6670656470127705 -3.6601440701628762 12.332239437870083 +1230 -0.1796384177478708 1.3055956270433928 -9.618748830417774 +1235 1.85704580359721 16.348598067794548 -16.065341684501007 +1368 15.975880940476689 -2.1409322868060525 -8.126034889440788 +166 6.393017823331323 5.391724534465972 -10.21737741403159 +1510 -16.315601850962523 -19.30864796920623 -6.891330973165215 +1545 11.831547400800847 -9.953622462134588 19.808828479599484 +1621 0.4709020522449691 0.08597709683855369 -9.796580617467486 +2621 6.714677618946054 19.500500324519958 8.18239178575274 +2438 -1.5062590032610084 5.6232586039061205 11.05812178718676 +1709 -10.104807021325705 -5.499056567030319 -10.168308361249567 +2046 0.11154297230097891 -3.936603372044761 -9.342583747641013 +1809 9.799039754799242 6.00605432253777 17.050062955534294 +1881 -14.403373606882882 -18.76705909144926 2.811700691237789 +1609 5.858354583418027 11.118526276136025 -7.932314193924629 +1885 -9.667198489641986 -18.900708170141378 -9.426078260395675 +1501 13.406133479175447 -1.1756395908755393 -10.36303935929053 +2082 -9.328630303021683 -11.573468640866828 -4.988232226915619 +2092 7.344226675467077 18.21539872508719 4.835247512132481 +2198 1.3614710892688098 -3.854840300671104 -6.906433204607451 +2261 1.155304730323679 19.286173852259935 11.755449172368612 +2290 18.12902214271667 10.543419434493968 6.923573711042621 +2372 8.196178528721662 -7.676065123849093 7.131959808134314 +2602 -15.820446007838246 -6.145177928481493 -13.062777716066336 +2681 -2.6436658057891544 15.422143845047692 11.841520424691296 +2682 11.854884646321421 -9.654762721795336 -13.155427478351143 +1214 -3.319053928778596 -9.042515814631852 8.30642724925345 +2853 -5.963872979823314 -15.628709620499755 -4.757123512229859 +2857 -6.687665429175661 8.62161413132164 2.192442952161798 +353 -3.222951551897787 -7.555925044075413 8.420210049097513 +219 13.192013899295643 -3.4610749225803277 -13.232947348267981 +231 11.299721300705807 -4.993139637388285 11.527331000931252 +267 10.295143610003308 12.16596690700524 -12.578261481407445 +301 -11.128591285436219 -6.857088835650897 7.498398883928364 +319 -7.869954136784152 1.505281012162948 -6.936247850112941 +417 4.837167175672302 -3.427749536928529 11.665424752437644 +556 1.4361024524980577 -11.248380869901318 4.507259162226597 +665 -5.36876026922424 9.106315533422514 4.054134288584013 +708 -1.3155413832762404 -6.699932489552916 2.632921750338954 +1372 9.491421406813823 9.343459288579236 -15.592996463717704 +2436 9.757074430251352 6.169250949377693 16.384190186110924 +363 -11.831808826567746 4.933145293688033 0.6086579073143095 +859 -15.427062046842714 -2.96750943164651 -9.965271418681839 +57 -1.2973823365771913 -10.113641408060632 6.003008017347643 +1315 -8.92205178518089 2.205753111580089 -9.178619168967739 +1321 5.740580834691376 -8.653739952614634 -2.7724294182947182 +1399 -12.932152425374717 16.443117903575153 4.808635384036107 +407 8.823577292654377 11.488536175535929 10.083473786245593 +1493 18.587035529481316 -12.651035975135988 -8.485990839406115 +1803 0.10591238406213815 19.009167814956417 -19.10835624459796 +2134 13.033666820381319 9.660837640407026 -11.666107140580117 +2355 -15.063503637679649 17.245923869107152 15.168733174444043 +2461 -1.3063169087082236 -4.549899473917963 -9.245231389105346 +92 11.309170810394237 12.982300077856083 -10.523199801824623 +181 12.074208927164344 -2.0237944684178903 2.7403532041799954 +283 13.976487231234465 -1.6729412882037649 12.314523023138678 +783 13.485012295215434 -4.203152542875117 -15.522400409918042 +663 8.254043066614676 -1.8272787385568123 -5.905543174765528 +680 14.216145419959151 -9.707208718422786 7.203087461441811 +932 16.578714594028444 5.170029480702112 -9.299403218190806 +952 -11.228721359762133 0.7917376993162702 3.2220283753836823 +2849 -18.7741836213394 7.946351189700728 19.024729125742237 +1009 -15.545175762970501 6.3451771946532896 -6.915509364396789 +1046 -13.888934960853264 -14.122651379439311 16.55178933381107 +1142 13.044128710570732 7.835790891308581 0.7693197166593017 +1212 -10.821854186062826 14.540197995673743 3.940162364238104 +1485 -9.383159883873988 12.580407712057113 -12.116173563643953 +1526 -19.079453472677745 11.561916730642029 -2.543234067701947 +1610 -9.345159043594542 -15.020853442080876 -17.897224222750264 +59 -9.933276993510665 -1.3459519950358967 -13.001235737075012 +1699 3.9711363685758063 -0.20274950464161906 -2.4897727170116672 +2870 -17.556100940049234 -17.68882973225489 17.436112221704583 +2243 8.478049082250031 -12.63340323308133 13.516346866403625 +2141 -6.000613976121202 -6.046273240673108 3.1213622386064257 +2565 1.5076821976831984 -15.645163241301093 -6.941970313488279 +611 -6.236624259387561 5.287732192151122 7.176054742039153 +2563 16.382679780446196 15.341243483003435 -15.288096991544387 +2741 -9.356875118105549 -15.967804886566494 18.25003527464815 +2772 -17.480959085213346 -8.956397822334711 5.549688608469499 +2882 9.473620776814991 -15.4805710949739 15.846652939587656 +2943 2.7154595450111967 -18.51697920332782 12.250965101278144 +189 14.342318202325862 6.116514492320868 2.5380692426453106 +205 -2.1922143982122937 -7.5803460878430124 -7.665357622052024 +766 0.652423500455917 13.330743225676368 -11.484925751318476 +828 -3.969957938082577 10.424834894817439 -3.411309751872061 +853 -6.747493863851295 -14.571851676873894 -13.100558423335372 +483 -12.290080474231562 -7.23959583953395 1.119799210346649 +1287 -9.373427785311172 19.375697967724953 -12.140622530681156 +1270 7.913973184841304 -8.345548460483236 3.5229992771328433 +1658 19.623863035416896 11.606834138106121 7.716204305657408 +1689 -8.491236665138027 -7.793700222210277 -10.31000972827842 +1728 -13.686938387223286 -9.898251999758212 9.787647901689052 +1805 2.2691627255257414 5.632709605597956 13.129016932233476 +1911 -5.545279715202093 4.117248408617875 18.237351348678555 +1936 -15.66943918823755 -15.7200281056675 -11.019023402872364 +1961 -0.7827370288877536 16.02008445088454 -11.177518382496444 +2122 -6.339932812936516 13.203331974908386 -7.16511465333085 +2139 -3.987140997647867 10.815595978614803 -4.188890220935351 +2186 -13.016199568518513 14.811595692309242 18.93063131853225 +2258 -17.48251260077983 4.126688624161756 -19.066058867299084 +2434 0.9903473515213449 -9.640911610512797 -15.517935587119487 +1192 -1.5580858942599607 3.841999247229644 1.796314928631521 +2781 3.372602889615087 12.851870709601867 3.9718077725358185 +2860 -5.120570960201712 9.067185523042658 5.043512278747718 +2969 -11.470179553580136 13.796021259749338 -0.8640377212633122 +150 -5.918672471944793 8.56929485548354 -12.257471284756749 +153 -7.4472235945519945 7.8770355518689925 -13.471596672961335 +226 12.728647276666097 11.40891538969619 -4.1838594113679 +400 12.897696333457352 7.598526593123556 9.766818939629452 +413 13.920903830697723 -6.302854629284349 -1.2587834368914224 +415 -4.991507914243119 -13.921617546558503 4.166242783568178 +530 -2.829026599799643 -6.455327184906546 -0.5320787282973307 +540 1.117370086573291 11.999084446914422 -0.522375864195287 +574 10.956000844091328 -7.361599611670686 6.9024573336407435 +581 2.6866802087707353 -6.484498227140881 -11.945388858970714 +675 14.617347039556844 -2.067034020603972 -13.876841146659274 +797 -0.24949454538299545 -7.004050068981807 -8.110800966523787 +837 -14.507432523625932 -11.914918074299456 12.078696030812754 +839 1.9401934695402356 12.194666184390178 -11.12602857914974 +848 -11.010037151033531 14.2764088561727 -7.890182241977984 +926 4.491148552697385 -10.924343403619847 -14.241927444849347 +981 -11.847576593285451 -3.0119013017268514 -4.0537267364096685 +1002 6.897151215238767 14.629730645961747 12.43119842998123 +1038 14.534220456405581 6.748192533212411 -1.4880603044893106 +1047 7.928947348579554 -5.49567456038787 3.833699362833627 +1186 -15.43301096464708 -4.863270301464454 6.4845067042994415 +1211 -10.137219833936571 -1.5588821042415417 15.32876294444375 +1300 -16.082250238025715 -16.67034658037868 7.73158166600044 +1325 -11.790521559251033 -0.7479756320938117 5.061985135798162 +2822 -1.2879326586769084 -9.109989776813173 10.86919946745522 +1512 -8.103887677264895 -3.661008057039409 -2.188787996021904 +1568 16.967282629940584 3.3126692624149134 17.26842859381812 +1571 -11.613463637252837 -3.6051961108746267 -4.7899505421231465 +1655 10.52619624126671 -0.8979202077533412 -6.703053340219194 +2202 17.48191097424687 -8.986736482420351 5.157121990343483 +1862 19.618244328366405 -4.440730114647648 -16.50787103573687 +1941 -14.968835150164587 1.425268066321653 2.8717869268511858 +2052 9.7293054102218 9.771602181531094 7.881474628755725 +2083 10.245974106806266 -7.4286253963855815 11.391066612834871 +2136 -16.129279540407527 15.961642308929484 -13.589033911128643 +2218 9.26396383058571 -11.812834854460498 8.865140861572298 +2710 6.368787718443345 6.696283290825688 16.593651539873882 +2527 -10.813688305535148 -4.987938265225981 -3.0749532915710382 +2532 2.9173590607824442 4.208241137516942 19.02426563164176 +2535 -2.531751052478358 15.10831926433521 -10.743182908321186 +2576 5.591375776316116 -7.989711431984264 -12.45651631798639 +2601 17.36741367765392 -12.884694272387819 -16.278735510851348 +2647 16.42801421579641 -6.583353034068784 -9.183533710288247 +2792 -2.9203028692294954 -9.240317853477935 15.254479017260842 +2886 6.74519006194336 -16.379186233356204 2.1357125226098446 +2913 1.668471560707858 -17.57689638150795 17.434854750310564 +2941 -18.270981786360696 -0.4332839618903241 3.026838971699236 +2996 0.6836339996754881 8.906763473069905 13.148675882294455 +15 -11.370999568504859 3.4185165568597893 8.561985001538657 +156 -12.376193586612619 10.219008401079241 -3.3199313151691014 +268 8.937903711183301 -10.653428339690663 4.059091522059972 +317 -11.964777040551654 -4.552607166630961 7.2426651031258915 +364 11.781878793235625 -13.8984126957951 -0.1887453667954684 +424 -4.344085848934865 -5.73762043406256 5.849883390557461 +479 2.7448852339451864 14.038566476240508 -4.005014045129397 +510 3.7682535846763234 2.8406498731578353 -13.681458246609596 +691 -7.343338697070917 8.705404776332077 1.3024857501947793 +740 -7.2922963769549085 -16.215627047367402 -11.997522108315597 +767 8.172521434276844 1.266455913838064 4.0114054991879495 +785 4.042799877663519 6.432426750799838 -11.827729231779013 +801 4.947330448593763 5.284128810067947 12.00581251555334 +889 -3.255919791311177 11.868585943052654 1.3545926782440616 +922 12.205822952797709 10.36391599295972 -13.702386370192238 +978 -5.531690912984585 -15.509295660822772 -9.297689300513662 +1019 5.3644318667867035 -14.110883506265772 -14.536867797562085 +1086 9.021690230696283 -14.86197999381112 15.097852220888953 +1268 4.244314217639489 5.513718737716066 12.093651633745592 +1277 -1.4374233583408191 -13.246734394498045 13.024453477146592 +1296 9.428826287635935 15.5189007206132 -8.072619986714193 +1327 -18.97858466565378 -17.629036803212955 3.3572837471087507 +1350 -5.884035208483017 -6.358054165735541 14.884379416048585 +1394 5.48991847632988 11.310440885017167 3.748666334550311 +1466 -14.965414408207353 -19.46836700324143 13.02942149294002 +1697 5.409086079793188 -14.676880245544378 1.8859718232526783 +1719 15.625174705526785 -17.507237229704725 12.405541935093432 +1735 -4.8920348421811255 9.157508999749872 -5.41769502681504 +1790 -3.2561926052791796 -10.743861214753089 -14.49225730803124 +1792 12.948512171626446 -10.584531376327144 -1.7611978064618696 +1815 3.68827768709076 -11.852877963338825 2.1419936743510317 +1828 17.710776261412054 -3.3640671924964987 10.98245568175881 +1861 19.015269785303975 12.358970886962778 -10.467748546004138 +1866 0.3607562454489196 -9.062536821550816 -14.642455458546337 +2811 -1.6416292117036895 3.651474507031395 -10.613120707465832 +488 -11.309077060836863 1.9158277583522452 -8.15809593731534 +1918 -16.64817529365857 -4.268271508339805 -18.279745177494583 +1923 11.415834512200218 18.71089928692976 -15.400617521205115 +2099 -11.840742064871318 17.442483000596546 -12.668862537435592 +2119 -11.551930670762747 11.56078480563 17.625524827525087 +2149 -16.20524293105373 -6.578341964936912 -3.3485399557178277 +2190 -10.130408737393235 -4.663850217596005 -3.957274338287783 +2192 -3.7797090092577266 8.946015908026554 6.582966467941948 +2255 6.384811919151359 1.6638665835914008 15.308764294599648 +2274 2.0949559602201036 17.21629804382134 -12.436241535454453 +2285 10.81836964666567 10.53268278236845 -16.755248272894818 +2338 13.826704039998415 12.609713128521543 10.103690085219316 +2361 7.547921801986836 -7.266596228618704 -8.896290797298308 +2379 14.504096013919327 -7.632949751370535 -12.895403820357345 +2839 14.412441588607171 19.652026923297747 7.343470237997312 +2475 -5.789653913563837 12.187466644865912 7.344124889650486 +2538 19.520461837961154 -1.7640983148812364 15.245897094383409 +2555 1.545860982027835 -1.062695919353119 6.6161644427711375 +2559 4.164068342992341 -10.615928995232746 19.24133726068351 +2635 12.240734852397456 8.480926351938797 -10.76571079123058 +2646 -5.87317494454688 19.39831151929506 15.18813555653903 +2704 0.0794661728372169 5.650944054102388 6.05121236703608 +2707 9.43816533969742 15.708258428408252 -0.17245343972152422 +2714 -14.59829536096173 -2.603083812996092 -15.288266230038388 +2737 13.587887773944887 -3.4869680481361995 -16.575051289831915 +2832 7.173370095015488 7.71949886055302 8.040822663103002 +2843 4.016472099723824 17.087455024447312 16.908395899771342 +2865 9.656803442283737 6.214726790945043 -3.163792039499633 +2888 17.19014061671824 -13.643313915928907 10.526274096827937 +84 -1.3258137649380537 -9.09626116726924 6.836903351498362 +148 -7.4189543576135675 4.133704074189687 0.7716833727426308 +217 13.63893555780297 -13.036638000617728 5.052679730605925 +414 5.3974376575186795 4.761268360910397 13.22792284800974 +564 -13.670141473531526 8.914182001630458 9.719539661219587 +605 -0.7786473340476435 -7.1901085755795275 3.610300026822948 +787 11.50852870576607 -3.928214133658807 -4.754488115075499 +1093 -13.932830458474356 0.13142522545236623 -10.739544352725613 +1250 10.108614958232241 -3.6355037083142174 -4.660447268139229 +1251 -6.888406446954476 5.367269549267784 -19.31045912762238 +1276 -14.727323533416921 -15.563336785338878 -3.4405149906087753 +1486 -15.187091028898873 17.342835984900198 -2.136284732679966 +1569 19.73695718374111 -8.077921024450358 -5.660279144382298 +1739 -2.921076332766199 16.95310305757235 -7.142824740951309 +1894 -10.892818261010795 -2.362332482798966 -5.8619845642424355 +1904 18.707817189933955 18.482180059903424 -18.56845405757093 +2004 16.328503842891458 6.24578016564986 9.240983183160475 +2191 14.239231273565265 8.789932371621939 9.219482466398066 +2237 11.706096816589683 -1.9783723894580674 19.69960234248437 +2270 -5.709657397866714 -15.066884067616808 -7.673496157161857 +2393 -6.998170048149167 2.6424851729267034 1.8819148445716842 +2427 -14.19412169784732 9.950767125517224 1.2439501288074715 +2536 15.169580409013742 7.1518454661536275 -8.60529191398299 +2630 -0.152323237212591 -9.924435985308397 0.8366510561320254 +2782 -17.147500849873147 -9.126064312878293 15.055629827780457 +2803 19.58133945927248 2.387496182185421 -11.678592152460837 +2823 13.546969070761776 14.266793856511157 -5.579563570405738 +2833 18.154398645475027 5.923052997729127 -6.197413069275141 +2872 1.7773127181192678 8.837397901598234 -16.08082924240975 +454 -12.402743056677156 -13.47052611906859 8.334999148638657 +2960 -5.731855290351208 3.7833626695050513 11.221961932769116 +2993 -15.642158884739048 11.656784497259435 -15.014605997427314 +78 -10.511131688295508 4.780596410375815 0.052523129660864434 +134 3.342785017751246 6.787902166833162 -9.015348607088807 +183 -10.597050144735691 -2.6577108743111824 -3.8019775101478164 +187 -9.943835687903716 -9.794965117213172 9.981582799849138 +330 2.7731471253764086 10.17177905900138 -8.385653756003885 +333 -5.136077543601488 6.9555931836293405 -7.481821677253265 +396 -12.816889586724049 11.755236444434006 13.72435929822531 +509 7.567043641737833 -8.870585975842854 -2.9868340360073304 +650 -2.0721095390367377 -3.635739717667435 6.477988043724767 +2642 -2.32193280679798 14.151542898362099 17.048711438420476 +702 3.650798429180977 -10.059973128316097 -3.750409302929597 +751 3.2230451308483805 -6.211609205614629 3.2113989981117843 +927 1.3356738569244941 -12.237394004815691 -12.950731406535677 +928 -7.610258092126136 1.9294625960717453 -2.1372621472605546 +1013 3.4005184127645802 1.254919692310665 6.29753162453384 +1122 16.370947427783847 11.688590238867459 -15.810387071988071 +1171 -4.170052996689735 15.104907824589551 -11.761514939245352 +1228 -10.358423634433532 4.005987321423891 -9.655680217740079 +1355 1.3553695606547667 11.175836000310872 14.639678275124393 +1374 14.49859925786818 17.562139014268784 -0.4543919405067856 +1378 -8.025185590575337 -13.477804527260336 9.537966809031055 +1389 13.541593280173618 2.3019265861211893 0.2950419748796521 +1456 18.63893000511222 -2.7070806394273834 0.523087697307244 +1462 3.1676855520022245 17.792163821464108 -14.536692076438511 +1464 -18.679981383776486 -15.710567558873505 -8.78770372576132 +1527 -10.150642437659453 8.00555255966727 -4.996432728970649 +1628 -1.9559749221430969 11.501166426028012 -4.555016833065382 +1639 19.86124877719166 3.6606937616729933 -12.437198235751621 +1922 4.441205420130536 -16.742759649286835 5.668832270988701 +2095 10.226488008872607 17.80572978422618 17.501331203689098 +2100 -15.48432388596476 -0.7359260265272781 11.614593030524086 +757 -0.9263616695642733 -4.93652867674225 -15.020698348933722 +2236 17.241648214575402 -10.20161332343201 6.286815328285697 +2583 17.114472029198712 7.964480532577321 10.180414273434913 +2724 11.340106646493638 0.12938267327409808 14.246536231518235 +2746 -1.4591166562084479 14.084234068273279 -16.80616383715908 +2757 -14.647004510070976 1.7957211283247396 -2.614188999062566 +2877 12.457252445748228 2.5410185650970574 -18.167392335020622 +2911 -14.911459103042777 -14.081072267390182 -17.783117873831216 +2927 -13.178158051427493 -2.906069063294778 -12.468433587920442 +49 -11.614907161412459 -11.504778514034232 5.0116245365547005 +236 -6.206275116139562 -8.355885184306716 -0.13826524427099057 +263 4.94613495487784 -2.958389465749539 13.02184243977908 +281 -11.818700795198051 -0.10812286495905703 2.8444378213667902 +446 3.985112737708672 13.856718738868622 10.045901621838368 +486 14.153077631697483 8.590057311984987 -1.324791948525939 +601 4.246139094631274 -9.114877057887494 -9.728261851906787 +648 5.899448844934274 -13.453093028364849 -10.266580996484082 +756 2.5848029763883384 -8.892226162995518 5.032703207331006 +764 0.6610895862542718 -4.4978538749376575 1.2091454685914036 +838 -3.475584108029835 14.607140020060667 -7.594548639550901 +939 -11.485311070677406 4.147295745505987 -0.341773508081685 +1036 5.696630406445407 10.846934674966992 -4.190653108815017 +1048 -11.909438940815516 3.536430887514358 -0.6347718389462319 +1057 -12.633778879132992 -7.570029561999477 -6.021175302650932 +1314 2.2466546628476114 19.269925898296613 13.027244917635938 +1518 4.188348947567866 5.53796638157551 -11.499446316929705 +1696 12.716389613785251 7.433896226830684 -10.533888475216715 +1853 -7.811803882672104 6.26350611389333 -6.3831852680339285 +1950 -5.050589757016499 9.450590284894773 -17.921379718959955 +2049 -5.243014052452371 -10.79669216893508 -0.9825850795320505 +2070 -6.823828903135634 -6.682583514647195 8.349749821626588 +2094 -1.1694218930082432 -16.143702376000885 1.417623280925613 +2128 12.265865701092478 -0.2681479272465354 -4.236429410629301 +2166 -8.224399629266722 8.931788413107459 2.6195947970492357 +2351 1.7342695453044914 -9.114801293082602 8.388090671950602 +2352 14.927460059307057 13.909475475608138 -14.497137830096618 +2518 -14.977768325501376 8.057480470531752 5.509468577563686 +1104 -3.299763157796127 -5.697069669652978 -13.336179115548196 +2755 -14.689208936690463 -2.059670762186811 -14.11938064786024 +2756 -16.2821657595981 -6.050576420937635 9.18385667749542 +2926 0.4476328817359991 0.9312540765757121 8.899446615772666 +81 -4.615855331055557 -10.071290807580215 13.577202200837727 +133 9.513935159261536 8.913703704175731 1.680794339595575 +211 4.732683946666952 -13.030756164426837 -8.765275103616217 +438 -7.895231365001139 -0.80168477622325 7.905879589177198 +529 2.7984617238612906 13.106826939898186 -2.0687798091989897 +580 -10.779495347299695 1.3516073087093459 1.7712591796662225 +903 -13.631011582005332 4.936747518539374 -6.561314560779961 +948 -4.132514528760936 -7.904066150513176 3.520719855665903 +949 -8.11608005061232 1.5138642263282764 9.823585236607784 +982 5.99551421164344 -0.9815856607928193 -15.058582079062953 +1181 -6.919354400710205 6.903225157595225 -11.526760120234476 +1185 11.328765551514696 15.511173076640535 15.591329955687979 +1216 -5.679392360997381 -15.911702845948763 -18.668532373179954 +1285 -16.86661778552789 8.512889449707572 16.928779967335316 +1356 8.866789994227776 14.893357358381051 -17.84985961899761 +1439 1.4782130544281171 -1.4237604882206043 13.122454209103799 +1443 -3.881895022129601 15.998690756070678 -18.00414396752174 +1469 -13.35338543088838 -8.47594273234025 6.7957362307676545 +1502 15.779529665906113 -10.002907912756301 14.521733900852567 +1521 11.63662958886744 6.276608454800213 17.862745491959373 +1674 -7.64685739952176 -4.185554218760554 0.19395074689953276 +1782 -16.424130903608923 -1.2843748943815008 4.1947755188630245 +1817 18.342524213810666 -6.8853483495941274 10.274132667396566 +1860 1.3362970229792888 4.167875867752587 6.88656043294898 +1947 -14.449000418020201 -1.7564224284317416 -12.51756963853009 +1952 -10.411368965585428 15.593325816754492 -11.386751456837107 +2168 -1.3461167178600801 -7.183908158367495 9.086315880757379 +2212 -2.5235435056634152 -3.7195317065016615 -5.97020019807534 +2293 6.69860127606427 -15.536459055193198 17.170247271448083 +634 13.299468248632378 16.164477916925 9.863305782349592 +2586 11.942387444960573 10.862938827564824 7.641920633983926 +2600 -8.934513527453083 -11.273636395147289 17.58543231407399 +2620 15.493537289054325 4.064990744587251 2.1892885787821488 +2632 16.494230159063502 8.90337342874525 -4.634776509774403 +2712 -11.530905840308021 12.187907106616613 14.746965533705179 +2852 -12.523095703351338 -6.512527791993013 5.385632685176091 +80 1.9213495440592956 3.604743069128143 11.76815117222564 +132 0.44576098436976025 -8.337526833610927 -1.4428982601256788 +173 -0.5056518009255883 0.9723393324613838 -6.50599087821204 +175 -6.087810815999495 10.879032615299515 -8.679568827398384 +188 -3.8559672674382277 1.039647001980558 -2.0057462148646854 +228 -11.210528988534513 -3.7278625505462144 9.826417210765644 +280 -2.548701451281303 0.8309587157042392 11.63196679349781 +352 6.822294314307379 9.107263918367591 -12.697980879505927 +419 7.864129152093916 -1.5778379046212108 5.1129372478966015 +552 -13.042368377651597 -3.2886169077150287 12.082528281993968 +593 -10.211672739626337 -4.373265637614854 7.406893447826605 +676 -9.48815433412858 -8.328961813018243 -9.994431313772237 +750 7.117688895965154 -6.12609477586971 1.8328099212254587 +754 -1.9013327938819946 -10.630203501360231 -7.7135237983430756 +874 -9.370478038427585 7.702526670316283 -15.681227355805278 +1148 -11.751518565129915 9.33626699503042 10.732123251601942 +1260 16.286683519943356 8.846018680159238 11.229528315178497 +1282 -3.060026611544486 -5.9959005974397535 -12.512119531200039 +1407 16.000806998366016 -14.33192563729899 -1.0292681118883358 +1517 -8.285028238390822 8.965341746797499 17.848158112012424 +1823 10.598972261315847 7.26494901357462 11.060946115389495 +1877 -12.876565802023151 10.054954835741116 -11.35921989631855 +1938 -13.1843123427382 11.237824594861223 -1.7296225720031955 +1957 -10.142712866850351 -15.494241141326103 -17.94070323989538 +1965 -2.2990253281335193 7.2273110879347975 5.568691045308627 +2000 -3.708806475580304 -14.378800319976154 -4.9916084189791965 +2101 -0.3906395990723015 -17.61922737654714 11.452227429844617 +376 3.0321922214750354 -2.173848974887717 -12.229777830647217 +2116 8.230450920691144 19.63771069360481 1.8887332231336897 +2137 0.4393145533338028 17.897198910451777 -12.897967218683148 +2172 -7.020005975029051 -11.616734745656611 12.50577344685458 +2305 17.53533211870375 -12.57708076083084 19.495596242741346 +2308 4.710433567971191 0.9771252824799067 -4.003647200450435 +2319 11.405613806610397 3.7035907283435368 3.0577142928348207 +2371 1.8151794524509157 18.175240655217415 -3.8200490584028075 +2402 5.735070974656764 16.321110162886658 -7.738288602659433 +2403 -1.3779201587383612 6.9979770139738715 -7.932877920723159 +2444 -9.854101573124423 14.453996105031198 5.286821513817966 +2599 -5.6090605441263826 -9.63553386710259 -3.5202472365557456 +2721 5.604908851364803 -15.697454523072034 15.637976127520124 +2735 5.0283031731736285 13.160510073257345 17.794613173238186 +2739 10.289257640989097 14.563327311272808 0.744343913738075 +2752 -18.602056885275807 0.596733852803765 -8.779726465942744 +2780 5.135487370201985 11.726271198450146 16.25072631525199 +2795 -6.8858319522192755 9.443779991381062 -14.802915086655528 +2804 10.148465686762755 -0.14569302681021773 15.825908457726305 +2875 -7.839777565752635 6.426085448208438 -17.423893502107244 +2876 -18.716721996810232 -6.121689658638919 -10.225652195932913 +320 -9.058036002966757 4.8755479387139244 -9.70129373894566 +461 7.367715918927901 -6.92084632972005 6.328965161817679 +487 -5.436354362029799 2.363518189773245 -4.812892655242448 +642 -9.884236216355719 4.686489030576977 5.11540698626187 +1074 -7.231101776904068 -1.2908908972763522 -14.903556245126026 +1179 7.388376440380218 -1.410666750125086 -0.8305012650815156 +1190 10.871932077317412 -11.648375640342286 12.519053036171659 +1236 4.124539373833044 -8.697929924740219 -0.8058620573898834 +1288 5.022368273207295 -8.201308516044344 -2.2036540272496064 +1328 1.5051629112348894 -18.793788005604416 -15.29791121813729 +1405 8.97075417020444 -1.4667527599073968 -3.974249727589612 +1428 -8.855005509278927 -7.5451424037451424 12.740852540776274 +1540 11.905727226142947 -17.390020254270055 -16.372903126886907 +1638 -19.000709792703613 2.4441785942157783 0.350165104130745 +1745 -9.677363056160578 6.22853521390261 -6.243762826085325 +1993 -17.260396193612525 13.899999506995158 -16.987652018860363 +2121 -0.47028927897302203 15.46439256605141 16.441368030920124 +2133 -11.560069102277703 -7.642765949036163 18.088874875434218 +2294 15.710420151381586 4.2641586455764 18.197281849326558 +2311 13.18508325809475 6.970439083970318 -0.44659662165086755 +2501 -3.208659055043296 4.292066151715351 16.922466657907687 +2550 10.110911604716316 -4.228788822888129 18.217388050388735 +2719 -16.911199873370464 3.889167955158895 -13.387640413526784 +2981 -7.819687826797823 -8.662875089902746 0.46540846999968855 +18 -11.350429249484675 11.121941245461471 -10.545840622570658 +111 -1.4667437348282968 -11.552775527199685 -12.956345873456401 +112 -7.615340637648967 -0.81671541540145 8.802372233885295 +144 -3.259776206011295 -6.761020409825603 -11.652215841207434 +516 -10.33065453074885 -4.137160455575193 3.869044755782117 +834 -12.569274682747512 -2.4127082610273622 -3.753560298199642 +988 5.119806738822698 -5.841981134440411 3.3293489061514445 +1103 -15.444874969828094 -8.086204042448099 15.743791041258223 +1159 -0.3031971216393466 5.901957026713809 -1.4516211427587584 +1163 -0.9369809981942725 12.759816375172313 5.542163307066197 +1194 -6.677795128613995 12.498283661182146 -8.787530881067534 +1311 -9.690465324064768 -18.016168589822513 2.87509321883582 +1342 10.02334896211924 13.440734799313411 -14.824147263010218 +1414 -17.500778294437048 10.67935590657877 18.412550841110555 +1425 13.461223702462483 -15.906798543256008 -14.627962160820525 +1449 -12.452001628857074 12.574905061038477 12.979838483339961 +1970 8.547050516286959 10.476044025948756 11.1427368912853 +1834 6.957548819605155 -13.830600300053103 -1.754178086471436 +1942 -6.0912000982686365 0.0006521510506230974 6.288890703606039 +1962 5.19546441203671 0.7418264322003688 -0.17614403613495702 +2064 -8.30360012359488 10.371847701407043 -15.591896495634717 +2135 -15.174075068428968 0.9439481681703598 -12.909091387355966 +2307 4.685674941759207 15.982142834040125 17.419111044201312 +2388 -14.901610072415785 -5.3205048091675025 12.08137053663825 +2418 7.628350822141079 11.941178042122798 -16.761051311746172 +2464 10.586043301805814 -14.066960609494853 -15.766619061470658 +2779 -9.925983583939354 -17.876282489517376 2.3594267032265206 +2956 -3.188633302949262 -11.872321555454244 -11.102278430291285 +171 -2.777957747989826 6.804047473612432 8.822377119371557 +336 10.505355682397944 -4.02996673441196 2.6903052335846396 +583 10.500114217031422 -7.617793378627787 10.833386401858762 +620 10.117570161786123 -4.199803558909284 8.068072881106987 +626 -12.841991961474351 -8.545980642055106 4.510934008479656 +791 2.19063522341552 3.598094835267834 -10.517609073388806 +963 -14.912841387783907 7.821448571306408 -11.410751000800593 +1255 18.84204096407929 1.1858429213037283 15.734699567852044 +1330 -9.224986335109001 5.877706881947971 15.530870444888528 +1390 -5.153665380710294 1.5515760489162664 9.306831484863546 +1579 8.982658628165796 2.6463593346127183 -11.39109484333503 +1730 4.609883381202626 -3.669893123601239 5.251988588917795 +1912 0.12430800426295158 14.640175950829999 -1.0303159377975535 +1934 12.601085746934144 -10.02008789210642 0.12897897028558983 +2143 9.345094260618257 19.183535240939577 11.20130189677337 +2238 2.1516080031299984 -10.4583810795503 2.023621212285035 +2253 3.888243471017555 17.565133840261982 10.686625954710978 +2334 -18.247907204531018 -4.549012874457147 5.655845748854915 +2404 -18.819715346468552 -12.637924180380306 15.918830757316293 +2407 1.7669953387126922 -7.794707495123307 11.95377699486332 +2410 13.807880003491308 9.778312132842707 3.0765586058400207 +2414 9.191726333155206 -10.924754424503062 2.2913270714613123 +2551 17.338356798859216 8.265637266163434 15.821723815585205 +2884 19.525009321739187 -3.7205836023110375 15.543609506142317 +214 3.8280317813880558 -6.532979243646125 -9.879509477164076 +777 7.4953737398336475 -1.3815670859852067 -2.190949406950621 +1507 -17.94525853315031 -13.025727391011849 4.152016691539095 +1806 16.26022694233597 -4.686432870776127 8.426299387399542 +738 16.294703189917836 5.391793110965069 -9.450694778871249 +1841 5.984543261360931 15.548417552877753 17.700509014793877 +973 9.510680576979125 -3.0721859211279003 -3.6844181054712495 +525 -2.575104627699706 7.768675429746817 -3.7280641440538305 +2383 5.3927729526753225 -14.500449708693365 -11.515710824253757 +1935 -13.469980952644706 -8.445748270824774 4.764757480174183 +521 3.6949884333590446 10.886984323601357 12.290816907093559 +717 5.418778850267698 -16.18633837740858 -10.18134945123376 +1819 -8.719114974138952 3.171772494571501 0.7978057936978792 +2731 -6.130408311843755 7.30959032485223 16.68003588249794 +272 11.72439221113353 5.821889241549614 8.42641009003704 +905 -9.5122522410889 11.704218800257582 -14.70835756998545 +76 -8.283735634473988 4.697648477048505 -13.797190044304125 +165 14.187341091087006 -7.082353124651143 -3.940320576038863 +256 0.4182917125166666 8.850817833238068 -13.007763335167883 +2749 -17.34516803449382 0.08848242152174564 -6.882611239453291 +335 1.3605737569022383 -13.076941185252076 3.7209097483972133 +1620 8.7924342688959 19.373404022340537 -11.501940034184646 +388 7.752404420397434 7.953689356179693 7.26666581336078 +418 -12.860663366108058 8.430168351898367 -12.571621379001574 +2933 13.808622130621862 -16.94177975632317 -7.855188034628431 +533 -13.333522010548968 4.610217698728032 9.683896676226421 +587 1.2652138970655078 -10.185951813962232 1.9272547454787632 +618 -1.7173273466254195 8.534727604083397 9.970471366104357 +687 8.30315793541324 6.248815590935976 8.330028094813251 +745 -13.032203845821707 -1.2388990414019971 8.830159644420458 +765 -16.017339018938852 15.801088255793053 16.506612786600343 +869 -15.630765405277492 6.459668740782595 -11.714206709683243 +871 -9.11114086134048 -14.868167871364825 9.185894843939138 +896 -12.489669387320179 -5.018417145410157 14.603518326575141 +936 -4.270637329010982 -7.925054139833508 10.430485798794793 +971 4.943358068199984 3.912131977220363 3.464699864660454 +980 -11.571799548776811 -10.844945871476328 12.356386382414104 +983 8.099330171746745 13.58511503384775 13.275025231341626 +1128 -14.3141650604309 -0.5627862048219752 -5.9146734621438535 +1352 5.22493308077428 -13.487551536623283 2.4920707355877636 +1395 -4.955482121799213 1.0106899133367568 11.41478759701337 +1522 14.200308281513305 -18.300433887204225 6.776993957277177 +1617 -12.08668155048386 -0.795081587303708 -2.787352628882035 +1680 -8.427646555750277 2.7536588028939764 -10.887969770688452 +1692 -16.66121943316813 11.657011188873152 -11.204600045666176 +1756 1.3669564386491073 9.951381589187676 11.571241038065509 +1971 -13.886212160368556 11.50738397417256 -17.635752884844752 +2051 -11.853871234268029 -7.254354187952335 0.8905738203460172 +2268 -18.895106724510523 13.62892995746655 12.730070024708622 +2296 19.05948771746114 10.862327776770288 -2.6280100697367654 +2331 -16.403535694004926 -7.877890231625078 -14.342685356369563 +2353 -15.977470877473067 -19.329649530052432 -7.127360963669948 +2358 17.406286845367628 13.368274333406552 -17.683498015136816 +2369 -9.512094685884307 1.1894318067145642 -2.3329484770290176 +2422 -1.0420254585055277 8.584953401485162 13.123917748850653 +2525 8.069688532161697 -17.170218397497383 -6.3072181542503625 +2585 -18.113113680864945 -12.269569818058109 14.353031867142327 +2590 11.092211528228624 -11.783477332323647 -7.232278025553046 +2777 -16.52410206951469 3.800210340594753 -19.163410641813204 +2784 18.80802451955291 17.366798352484466 8.669001532071373 +2806 19.3976424533273 11.240700481216177 7.412376823284824 +2861 5.392774321475824 -14.477444278665018 -16.793674061852617 +2897 9.62825630479578 -3.2607421003486405 -16.118736347230854 +2935 7.486733097948202 -16.646558123460792 15.613951360883664 +74 4.513496320319179 -6.844488195191247 -6.070588299813616 +2350 0.23481110449123696 -9.399301987649224 8.333670923650534 +167 -1.0915143053235346 13.35410118862853 13.10091182725044 +249 -12.156247680932891 -11.391352759624207 -4.0993079013502784 +253 -1.1560628711675123 -1.1108758529704845 -5.665665352640753 +264 -3.8601764398201692 -13.366925374051807 3.1060973802336034 +291 3.4029136345074886 3.303782738137622 -4.311719454707063 +295 12.12111054156816 -2.4661910452656395 3.863481963826399 +298 -13.244213550066725 12.687335071142735 -10.345137073144642 +337 12.759038263360091 -13.011155793398848 10.804727603816016 +346 5.404841640205748 -11.64246423573248 0.7442016922291546 +462 13.916143863328353 -1.7981444353536724 -7.506220776318096 +480 -10.50734808312016 12.03466074519577 5.870096954033172 +519 -7.657414810952965 -3.7449980448134172 3.515104298241528 +369 11.914550825875528 -9.390580084156177 -10.294696131030905 +568 -13.459235709800412 4.3771186523942 7.408880328823136 +585 6.286949092830173 -2.69031180931509 11.6439863518698 +674 -13.962010557425053 0.14000550193901576 2.6855616674895515 +696 7.140385809092109 15.686021698969048 11.64110538611749 +2497 -5.9105135408930405 18.9368838878129 -19.00062000120202 +798 -10.299106942624169 -3.8190599236727527 -1.1700933518441239 +821 -5.926976638269232 10.887164915231173 -14.654909665900313 +879 -8.119133467479461 15.586887385673448 12.981613185710037 +944 -9.034814178935276 -7.185725373209548 11.886981813601034 +995 -0.47607445925644915 10.2876635182524 12.558280132695495 +1024 15.031588431563497 -4.13870600437882 -11.334135252463504 +1063 2.3075093786645295 6.148008742097583 14.256131249464874 +1169 0.22025705175544666 8.399089360992656 -13.684364892211864 +1284 -10.868754328429318 10.149956690055646 17.616042671933837 +1299 15.624978273529486 18.38435276409509 -16.644866667399043 +1334 4.850955174973155 11.142419820431078 1.7162590490014749 +1387 0.9359769712927003 17.188649624241304 -6.806958548270253 +1415 5.225484378864255 -4.221884538406652 16.678629613364066 +1417 -17.139160091393396 13.47799573904445 -15.667894361802883 +1457 -13.305420635491837 13.807922049325354 3.1874198207808377 +1570 2.7439330957841945 -10.278282230358021 11.08224151207668 +1585 7.850910355657395 -10.030909099601578 14.222057461131442 +1593 8.799823784029815 -13.203105411569982 1.6293406734244347 +1598 -1.1916000565148426 3.0381292925961993 -11.341203178347218 +1643 1.087952007365448 -15.306408879561918 3.5143144387083716 +1676 18.64573714125943 -5.878611130330526 -0.8791744464781872 +1788 -10.939769760772101 -7.615737523080607 2.0393590416774643 +1900 8.278748425862911 8.320406095092729 -4.311110107450902 +1982 12.695582459111609 10.465250778485172 -13.487282939557483 +1983 -13.925099435852761 -14.982693930447297 -3.6386733556013997 +1986 -18.5444935132427 -11.76123669676216 13.828880704744565 +2041 17.81502122399825 -15.00499676430357 13.447823746013933 +2055 -8.506683286786435 6.946087739784877 -17.789412622324047 +2153 -9.778367027671397 -6.045243355175797 -18.762374780467038 +2216 -1.3976125987849495 -10.428682269821747 -8.337777121106045 +2263 -5.073336319494004 19.079340449454424 -15.5075654085149 +2286 9.999189669769498 -0.6742659988493056 -10.276931240607674 +2288 8.009332369089412 -12.55766427096535 -6.908661739578571 +2443 -3.8156614122107024 -7.410681936617091 -0.5773856373218332 +2568 4.317877170222255 -12.290459520527328 15.997005618554029 +2662 -8.939694254844444 19.232946055436557 18.595387127049737 +2678 5.07099069511677 -14.057737503961178 -17.52597464661003 +2842 4.867409233790652 13.334628359298568 4.723953737982519 +2898 8.159962038525267 10.721745303772694 -13.816279396281722 +467 1.8180862070456976 -13.664032776642753 -4.554593482283304 +2929 4.498051741458279 -1.9591788315675849 -10.4514733437855 +2963 18.044736846536296 4.909259137362896 3.9339947499358496 +2977 -15.967494256388665 -8.424669254120863 6.3025880712162525 +2989 -15.76575580280976 11.593578820055189 -19.100813314303842 +14 -1.1867273074841143 -9.455166400660389 2.7743454044820974 +105 -4.980593789120286 0.5011198510697855 -10.945022085208114 +196 -4.64218768891434 -1.9433265619599716 3.076748707894728 +1856 -3.996686045059489 7.164074421087203 0.9616407925903484 +895 6.319602842607532 -14.239302241685213 -14.941139292484328 +915 6.588345030852322 -9.52357514704245 -12.577999507807467 +1027 9.015149691487661 5.994778417764959 -10.805712436731765 +2980 15.809542733979136 -15.082566250706186 3.107210666488477 +1131 4.530870088078169 2.757497286782551 -13.81171024997419 +1160 -7.530271298486687 5.735594162737259 14.335143157363008 +1203 7.566012307430533 -16.763651815596962 7.271396248349379 +1339 -13.469735882602922 -4.32685607854971 16.107970187058044 +1471 -0.047445250021143054 -10.926121016673061 18.516035042628708 +1586 5.4648096744482695 -18.762966615208594 -6.792096276681259 +1606 -10.726948549298216 2.7053096300659463 -0.43904347097966934 +1646 -18.217843983607622 -8.785752256168434 12.499071379833854 +1787 -9.527031201212498 -14.690445879794328 9.04649241873286 +1875 0.8472216836933476 14.813388693211463 9.872574909795192 +1953 15.987215484661249 -7.606361038888073 2.8578385759810203 +1988 3.5246145365385817 -19.02786922570986 8.994302282193637 +1997 8.553745757555848 5.423896314995088 -8.216949286449822 +2033 -13.210386933752307 4.12542171716961 -1.1659421119340114 +2040 -2.527659726030114 5.485197735192346 3.057433086459797 +2131 18.661186683015575 18.623701730802438 8.404914398156864 +2194 -0.2645056731494558 -14.109553300939252 13.045444708111676 +2214 -10.010003935094664 -19.057511750361794 -18.89133867405068 +2217 -4.374648583872438 4.0173413208262465 -14.79412512435254 +2244 -19.12033905088872 -9.320612530425624 -1.6953889809652631 +2279 -16.43198396759533 -15.69175359673809 -6.125622695091113 +2696 14.596869169006673 -16.115435094338125 6.189555318157198 +2775 16.415547746599817 19.05083461324027 14.90413878131436 +2995 8.666543624448854 -19.24046086196364 2.5317258534012743 +20 -8.782688104544242 13.014673249668789 -1.6286856947009776 +64 3.5381929286951244 -4.705127664804633 7.163599349057198 +304 4.107513626328567 -13.420096575607992 10.849518381789249 +370 -4.836470425558451 0.29201380218827727 -4.328645182275715 +395 -2.7263450400734945 1.0355177906913102 13.100081417661148 +398 7.088034092553789 -3.3948169522744083 1.7934965615461134 +443 -13.200152679403873 -7.3309476364823745 -13.131180225486737 +550 -9.390779976349043 -10.190615817526787 8.044828606944579 +705 -4.478712760183576 -6.587502026453058 -4.1104978481716525 +707 -6.002750097262397 12.50274830322713 0.8579075235282216 +724 0.7642468885583003 -3.61578585539996 14.883548945973292 +909 13.715787243026751 16.315169040801706 -7.751192594112227 +1101 -15.36226925650701 7.040210390681743 2.07103677438975 +1267 -18.952334119897873 -7.559362580144225 8.900483235768446 +1295 0.5217028380245162 -8.35171289916833 17.496346014012037 +1335 12.690952792551466 11.04049004701308 13.075550398351963 +1336 19.08771116100651 14.897472574960712 12.121562863021909 +433 0.3107302306651307 3.8486034671519653 -2.2702520921877496 +1619 1.541925972596859 11.187645719026856 17.160507872615923 +1647 10.881422310224517 12.047189761142937 1.2918945017005323 +1744 13.22064208527687 16.71230894779688 -17.288102779899834 +1837 2.462547353142776 2.82727245584732 11.352995671719075 +1869 -18.99842283732709 1.6880150350411778 -9.951460485463125 +1907 0.31574090487161344 18.22508554372942 10.869518142462637 +2075 -16.52065975526155 -16.7308591517216 9.715381987960136 +2200 -5.71370915685513 -4.778752241121225 -14.657477679036594 +2265 -3.0135816409714176 -9.255731623914308 -8.64662527246468 +2298 2.4372598771690392 8.943912061655782 10.416643086775158 +2329 -16.78414505497157 -16.316740696697114 -6.553762302921765 +2364 -12.890802093766807 5.943734934532896 -11.333304359922717 +2397 4.260226833730621 -1.3941006254289852 2.1064747066395184 +2452 6.774872062801755 12.169931324905615 -13.02083967627511 +2477 -6.936361441739427 -16.751876353394863 9.21647661699817 +2542 19.596771389128843 -12.599216728780648 0.19358606194459232 +2594 -7.193190520120185 17.147308837735558 3.8528489528363385 +2611 -18.395679731053452 -19.001444075761988 -17.1944734127228 +2800 10.143919827294651 1.838092037586552 4.039276661029945 +2802 14.09986615698166 18.06177229508677 9.575328273470925 +2938 -6.326484421012183 4.072319612733612 7.78650779748336 +2979 13.369118978286691 3.8100051302205378 -11.314471690847117 +26 11.1879211595077 3.270980129610062 7.744717495288581 +311 -0.1474664928252142 -7.064887082559806 7.926509616677361 +325 8.314964037744769 -1.720780228677609 -2.99671965895198 +373 -7.370385863987725 3.5380526583196046 -10.526320265103273 +378 5.659916463427228 -6.210986744870034 -6.502415885441253 +470 5.903744554336337 7.376118237323814 -10.009219066749033 +586 -6.985440702626334 -5.442222776974963 12.94337550195115 +2103 -18.315197893450524 1.0940330550066273 1.2141570361003764 +958 14.835533733935067 3.0559134495020244 -0.8039975000981964 +985 4.314038757563964 -12.281749943388647 -6.435285879610354 +1010 3.684113254992941 -5.967999492914251 10.572312513222624 +1037 -6.613011214578635 -10.339080719055211 13.497945216683416 +1132 6.202118902272779 5.658026138103121 -14.210538182428165 +1157 10.275764515215554 6.204776489087058 -12.52535178012158 +1196 -9.045358325453632 11.77420542908521 -15.495494881961447 +1269 16.577677402574178 0.45238250625472914 -4.925408426800614 +1495 -19.007936000812364 -1.4276333723594872 -12.776086940697349 +1531 17.059790201229294 -9.633482984185887 -8.244080627952417 +1584 17.7668520575615 -1.5307030463337692 18.617918331581677 +1693 -18.842800185176657 -8.694582623492556 16.259207439660493 +1725 18.699909811943645 3.161945894022064 -7.58577935112697 +1726 14.298603141322275 -12.365673118760167 6.058782436081476 +1767 -13.9069262366081 16.103107767754572 12.439578218101742 +1778 18.616198608944266 7.176569689846344 15.00450996547868 +2228 -5.6990706020201 6.093303436817313 -5.888931099426657 +2346 11.063469984568112 14.666691806624437 13.498424102898714 +2021 -9.51837399430748 13.232162855614964 7.079226513305437 +2547 -12.97946421167869 5.134376940765807 -14.234272980277911 +2562 -9.599835327298594 15.867329308029992 8.206285439551833 +2658 -5.251532335231824 2.808619446400209 11.396046473315309 +2715 13.155185917541463 13.99512984605009 14.147053581386103 +2726 -16.36632791848536 -9.6151682327187 -13.972233298153512 +194 -3.4600065604866956 8.186682758379575 7.76612120145187 +199 1.6794881864698201 -5.095968933628052 1.553478440936423 +482 1.815873294298947 5.480530536021581 -10.585087221578748 +545 5.946129691817585 -12.63771812985554 5.597393805479076 +662 -15.218302287931765 7.196434753543036 12.061885566433041 +667 -9.975041316959931 15.232473643464997 7.003688423538127 +747 -1.7894097871979016 6.793457143066669 7.268532393411373 +776 11.419787550531723 8.610600087874886 10.019197763542339 +904 5.982337107795224 6.4221315213214245 11.315750260869292 +1014 4.709701489622307 0.3540425487452808 3.4571828410629464 +1080 9.222254378177421 -11.658076218598659 12.960935394920002 +1126 -12.915897149560758 -8.226268346889025 15.787842338504355 +1130 -12.836900086247239 11.641365854564327 7.886891513304093 +1218 2.389864247271686 -3.7739881751565165 19.412472857429318 +1298 -14.370764179767983 -19.402733584966416 18.72565041382409 +1419 9.272479193257427 13.725797851878056 -5.318176641864486 +1479 -0.33813744902143716 2.537911935478904 8.005528817447297 +1490 3.46022670846924 -3.7894635598661295 -5.524182522638821 +1509 19.160930873175523 -8.675547317190718 -16.551602696953214 +1549 8.384278673869327 18.28126858083549 14.505281046579514 +1600 -6.584178636061894 -15.76186976365275 -8.777362857738138 +1688 -10.59903525572614 -3.0722067861455473 17.152483672065483 +1698 3.9629018472656474 18.171741125103313 15.749393458728678 +1780 13.330188101943845 15.780150166832083 -6.87170549483916 +2014 14.801525594993286 13.75215266373083 6.503897871230117 +2114 -13.886663718528657 3.918045977354742 1.6490077632857365 +2280 -18.873631759448212 -17.371557964359482 19.571645393301633 +2292 -3.8957133734534724 18.911795490184097 -9.538070652070912 +2421 -9.52191853058207 -7.147835738986548 -11.732892742114581 +1799 -9.493508528653686 0.022795802533910656 -13.472984540772408 +2500 10.83870117054106 -0.4925985955356969 -14.048644396067736 +2507 -18.090030338712054 -16.238063978443517 -16.796926076334703 +2670 14.919686184992326 0.8330375851581234 4.281823401218178 +2762 0.9638051965066078 14.581359925580632 -9.725687993905694 +2869 -0.09652211369710617 -12.707494798167097 -16.75688778563414 +2917 0.4738339499164433 10.169358688886492 -9.031766129619502 +32 -8.851877299499497 5.060124505777751 -6.057262697143965 +232 4.182650727688607 9.995433342630085 13.632247096994632 +315 7.751557680171592 -6.277473619544166 2.7924384118471575 +321 -3.1693156158412457 -7.488553298122871 13.997387328069408 +447 6.747704807392342 -5.104846162720485 -6.8036412974229625 +473 9.259639956693826 -11.583183382326295 11.180217562720896 +532 11.930777497264046 9.814640629964172 -10.92202484995901 +535 5.273028126837163 -1.7211634542819678 -9.437592391415976 +628 4.456222975265081 -9.392319299385292 2.8137171437165214 +683 -1.3793043705201455 0.6002482519535101 -10.942891623832098 +759 -11.052955159401549 12.263247114793012 -2.842839093951778 +808 8.54794311083727 0.6698308797012611 14.175825137391342 +827 4.860692139153597 -12.226328151080331 9.55357121002843 +906 9.060614147513935 -14.58571449395503 15.47427667578456 +942 -5.065127841271147 11.696097396525651 12.274711021080478 +961 3.9063661323145316 2.1034842608478344 12.70973792227325 +1100 7.35996282442799 11.48019328160461 12.819176265221532 +1120 13.167657959545979 -8.545735835823209 8.625392347961867 +1164 -4.756323773189589 3.1179342306193267 -4.689536388720471 +1240 6.760219181188143 1.057085479337057 7.3246139160490475 +1271 3.9814733857069093 16.759407128219927 -9.569435857780643 +1432 7.712450089207966 14.448747028868128 -4.54835641408125 +1448 17.09239325885919 -10.376209412101616 11.327045988313397 +1515 -18.039763439880108 5.544230669694517 15.398398954393164 +1516 -16.240112138292528 -4.7297694414157245 -14.457037049090497 +1632 -18.400656634924808 14.930800275576097 -15.635111480288437 +1742 9.5094185053113 -1.7234868435333495 -7.671510264892966 +1822 -11.479779097502387 9.228576848026524 13.228953786873337 +1842 -8.189605943314257 5.813929630155659 1.8382090263088096 +1948 18.941983385174527 -4.38185634426779 -6.841976571499573 +1976 17.75560323678968 5.375479103656799 1.08845377131664 +2029 -2.451129031453407 -1.633163403327487 -18.133331048589813 +2047 0.03310794771459686 10.36870586623999 9.989324996504141 +2050 -0.45519920247923756 -5.267849809727307 -4.385573037238056 +2142 -5.1323506748106995 7.050634951772475 14.842586067595704 +2170 -5.918115676371517 8.746860618252693 -9.21307010727463 +2232 -17.859777087838374 12.712111360223165 6.61777710876996 +2313 7.581840933922896 14.109938207119669 -15.919950542339024 +2357 -1.6778556667677327 -17.311217168354162 14.700816972318039 +2476 -11.724353195489373 13.939082082934913 12.7848406422039 +2484 9.558768983082174 4.656519031093524 -11.022533500126334 +2489 -17.795504640525973 -4.465498687476611 -1.6700262757159636 +2558 -10.433197865956071 1.452200438983357 -14.79209661676137 +2652 4.57064649581967 3.1571579758732775 -9.670274532942901 +2666 9.803871839577543 8.832858046601666 -13.996127024955298 +2773 7.812449744414837 9.842981477548514 -7.430396950840556 +2798 0.08685848032415354 12.314388269850676 -15.100365473497108 +2959 -7.290725713901503 -15.21276757644451 9.622793036918937 +989 12.406493509306443 15.356236294986115 -5.455041715232301 +192 12.225582332569436 6.944577047775229 4.549440488116919 +255 11.456621321443647 12.355574005326067 -8.891573374071243 +365 -10.140335442908425 11.515935507666866 -8.280347790840874 +625 -14.74085801389042 -11.589106223051855 -4.912757467913991 +666 -1.6963670215207347 1.1600091886092612 13.23580682841555 +698 1.9848036844288155 9.952842694139548 8.919527576080482 +772 2.1919360657846494 -7.234547689502 8.727817454451593 +1066 -2.858308916868216 -8.1449929519533 8.555595668916506 +1145 5.771151439253127 -11.818175611829057 3.2342516347377064 +1172 2.3558715737346296 1.5739157172373273 5.53608604069943 +1364 -9.054441512659633 11.133890003226064 15.127711573964566 +1375 19.263787032522252 -4.465070362423687 5.528832888754062 +1397 -17.17588283701793 -15.825851386485272 13.288134223317547 +1477 -17.18958786991095 -11.008203785091847 10.706736262174656 +1558 -14.346656190061033 -6.149976304266109 -15.32303438329883 +1635 -2.088435955002629 19.230873782730683 -16.233300240530863 +1781 -16.520023956553953 -6.044990273088409 -14.508824137759387 +2017 3.1799169525260282 -11.79282300937956 -7.532982014685295 +2020 -2.8634852014589214 5.061682628981274 18.169151173953846 +2179 7.711376329091912 -3.597939241634641 -0.40281694291293263 +1789 -4.797607865826543 -10.722224877236995 -3.5875358266478177 +2664 -9.919035935857993 -18.68622890324404 -10.431116177714049 +2818 17.490387773245786 15.903756575252938 -6.648995502771718 +1 -13.367490285484752 -2.924700674245853 -12.309011154098979 +233 1.8791091786548293 -2.1167301928248556 -9.963201103744753 +324 11.738884621388411 -4.120616917369708 0.23135213902886226 +328 8.052273497591097 5.692857419290877 8.762605507382354 +379 -13.28413198752736 -10.346483086185843 8.053579152271716 +534 6.92527141264565 -6.603267575701505 -8.138761539232982 +551 7.895288308320635 -13.087283751212656 -1.0956328092671508 +594 -9.853240005986018 -8.25201100278431 -0.7715196625615722 +647 -15.546460344810015 -15.244789782073692 -10.389815454846609 +677 13.85296266949898 0.4136459463518305 -8.361420490009346 +721 -2.7961209019894175 -9.219834011054298 -8.161161699440136 +857 -9.835755873617261 2.098103867796574 -12.326727644760254 +1116 -6.651257776806398 0.7689523733658398 12.619857799155598 +1274 -0.8673138430735986 5.486381035849865 -16.24785533503665 +1297 -15.883264113743161 -3.717474417598614 -10.586368176939354 +1326 2.3219021890822136 -9.414645565995883 -14.387714914221409 +1408 -1.1964725665346188 -0.4681014649715136 5.74440327215781 +1612 -18.42218910785885 5.771730824743565 -1.922707231553002 +1749 -3.82673086536481 2.5101317642879346 11.420462479636438 +1760 6.00318614168433 15.335126569071756 -0.5160017240810187 +2287 12.856845189851027 16.489408820214447 -1.0403801073620291 +2315 19.534514089914715 -0.7460351657508968 -1.5176196112184168 +2323 -16.352996130113084 18.487086078159475 -14.499050372909304 +2467 -4.082928561700919 7.827932407425761 -11.588615949566188 +2797 1.6231596831899147 4.726829622431411 -5.103102056253046 +2826 7.284320172484864 -8.807632586936586 -2.506444688869001 +2847 18.59913598142381 -5.24385303962377 6.997916368892379 +2920 -0.8031977127784661 -14.318449121087022 -9.687595571747362 +151 -7.892094518618033 -4.417695462610927 -6.944333246645876 +1313 9.663153946583664 -4.63141515741432 -7.523533878349177 +514 -1.0559953938172113 -9.386419444589684 3.2961852157669083 +524 12.518105548401772 -6.10417109433914 14.133105398259621 +688 -2.337855267943677 9.314125056215229 -1.7525399654181675 +770 -5.8609307061629785 9.260538252493696 13.099256122964976 +881 -8.04850398439912 -7.091698723689009 -9.906230607994553 +919 6.280292981814988 11.693772095115186 5.889270438148364 +945 11.277689263944035 7.165413667270851 13.8248921533845 +1021 2.906401355962719 1.3882025946417595 -9.633844264540832 +1151 -11.117972643460135 -1.520900108124735 10.143763529929199 +1154 9.291609693465306 9.640200029628366 -14.321699228002643 +1551 -14.443321501998325 15.303074006502206 9.478895183101375 +1761 2.80674138282685 -12.871011359310902 17.72487171089814 +2447 -0.39067880151866297 -18.27810289255897 -9.836204763888322 +2512 9.337716480667307 12.7642553225588 -18.43816708142256 +2540 -17.653994923818004 -16.886066893064022 -12.12163697571488 +2672 11.024334992694486 -15.986755454991954 13.29201232714901 +2718 1.7858347057854114 -4.705645683126996 -0.9392572144636442 +2728 -4.739315032630185 -10.82014165609678 -3.167890082195672 +2738 -18.485876639340958 -6.413001340244837 -7.17326339647625 +2844 4.392944489308171 -4.8107499604173505 -3.740829875385136 +2879 12.47024677917021 -14.221355046080646 15.258597591964405 +2915 2.0089620725017623 -17.134160231892324 11.827032583916818 +56 -10.981438713405753 -12.491275999541369 -11.977187284195724 +73 -13.225205725364424 -5.870082240909709 4.8753156777137345 +85 -12.388854958676465 -5.401214410532156 -2.041357784697582 +139 -8.418910451938636 -13.705994760441206 -5.597307091953877 +216 13.863306042863368 11.54841256593859 2.360186032914576 +223 -8.329999960543065 -12.317543827749857 6.584549881291841 +260 11.829644160584646 0.17628647738295775 -5.7317124544220395 +339 -13.520703819146044 13.516880054886467 -11.587087491856533 +405 -11.77318665528603 4.298690698222356 13.189468973515597 +1640 -2.011640151144795 16.568204332100898 -9.28697929338158 +536 6.405686304796782 -7.037058864627055 -3.229028289359846 +784 -5.671103502097673 -4.511864848585905 -5.40198707845047 +880 0.955334907902514 3.8023334361357417 -10.948967672181666 +994 6.41287499137381 -16.017508617522118 15.493005806532663 +1028 12.841521963471148 2.997815551604559 3.621639218843104 +1084 -10.933160381610575 -1.4917363610549446 9.860357191087685 +1147 -9.849801758683492 -5.099784881274821 -12.412109219279131 +1231 -16.696774737970294 1.974341964986196 -18.396525304811874 +1562 11.728095758483958 15.020640875967729 4.981001550683415 +1681 11.704184091270267 5.067475739466325 -2.0451086210150495 +1827 -15.863886078046429 8.424990958219453 -10.239331294619099 +1835 4.271604632011027 -6.13255778861527 3.078800153541242 +1855 -16.74444934766052 -15.432371650670058 2.881239333844865 +1906 -5.328901995011897 -4.173507588053779 6.696560173697186 +1973 -11.829003268271986 18.771324583552705 -18.85124406177215 +1979 -11.836654060045623 7.763534961251563 3.488138227945032 +2113 6.110024013935145 8.080207158025976 -4.45332043100755 +2359 7.728755624045716 14.144713040126554 19.83835179085308 +2365 12.833054159588196 8.563788916877936 10.149628106838653 +2441 0.5579286178136437 12.59962943073658 -2.6009282970629957 +2495 13.990805608225875 -12.039832312962712 -4.557954662205695 +2513 -16.647950554866902 -0.4910866367524386 11.362846874176192 +2572 9.905983097691358 0.523779979942809 19.261254676780524 +2615 14.36813650948475 19.683990988352214 -4.138804405284411 +2896 -10.831630177495057 7.007200283763606 -9.689472854259131 +2923 -14.947034720844377 15.087880499503195 -1.5203002883711858 +42 13.98078296254861 -13.980066862315361 7.705880185318445 +136 6.7539112100657865 -13.467812124677804 -2.3878849727312823 +147 1.1101144175468358 2.7270308138555768 -7.819401132442362 +164 5.716290424176688 11.70587209133668 0.9440005768582449 +261 10.589722203686845 5.493460386373693 9.54745018094424 +262 -4.682966980468231 -11.277025540959677 1.9406693861892952 +537 -10.52743750752414 12.413631871133894 9.15818385445002 +538 -11.9915260854235 -3.4279015495766982 9.110548174654062 +555 3.3078939634730955 11.912325310291845 6.078498949166254 +630 -9.123868897472432 0.08303041797174879 -6.713568111444616 +780 -0.6428653040264964 -13.814545600618258 -3.7625214334393773 +799 15.897678531927811 2.56201170769062 2.948084446760382 +892 -8.932712669165042 8.64753775359479 9.608441286220986 +901 4.152989737223928 -5.272916312504969 -12.29695408215429 +1977 4.090722719427862 10.840898073377897 -10.059831834041077 +1090 8.108226325768882 -0.3767254296672216 15.098253405304058 +1124 1.6626380437941657 -9.861542703365147 -3.7120798698566193 +1195 -5.925503172412495 2.95580534668059 -15.829970261171288 +1301 -5.780060100353015 16.65859498953672 -18.61908009315312 +1365 -19.29229660321033 0.8724759579748947 0.8411716019161886 +1563 12.986577199524078 2.0860313407317563 16.694751947942695 +1687 16.590632935064612 -16.962118361459826 3.051078585262408 +1703 3.1427255843618043 -9.779786587012829 1.9916887208954757 +1746 -5.610662186718499 2.638681659597236 16.34231146100809 +1793 3.870238469978515 -10.693760616056734 4.495030961196278 +1807 -9.18004312119279 16.57087429610841 -3.605916791557929 +1910 -4.218154808832191 8.275706071398945 -10.916979453241868 +1919 -19.176546160632945 -13.360964263974347 13.621143236583837 +1992 -11.420777006638186 -18.14186887974649 6.653539376207943 +2023 6.569729840391836 13.330585652644135 15.164228141732233 +2059 -7.917629992344242 -8.669903387709656 -0.08012505354378986 +559 -5.524210051708004 -9.465374202797749 0.2227784236706588 +2130 4.354848344012472 -18.004302786787317 6.338531969355446 +2273 -10.413389625387056 -18.36790346922394 9.413383551569648 +2297 15.160926541981945 18.478392552414487 -3.8390472793363917 +2416 14.695371849233108 -6.687836569457054 -1.5522972228883576 +2440 17.577407002043778 -10.898922768201954 5.320726227722079 +2453 -13.017687929181125 -10.203281964246006 17.434991739864746 +2517 8.094216360358462 3.1387643814972073 -5.267234632374534 +2637 9.908169382353668 -1.9243562730498769 -13.084070922672721 +2638 -17.533636678987154 7.130802786540362 -9.532405022539237 +2722 12.645134221589224 -14.364803239808136 -4.900817469524723 +2776 -14.35005572473583 15.100089561202813 7.712286835123525 +2814 -7.70053272110643 -4.867164927080393 -11.274632843504957 +2864 13.810459827423127 13.944390382533012 -15.577635729738098 +2918 11.27281190592465 5.704332529853966 1.9118051586157339 +2947 -10.30177451163137 15.475252519726098 2.999496579409986 +2964 13.610412043220958 -16.85180004929924 15.09889016535746 +39 -8.089589734135487 0.1625003245286638 -12.087632087496047 +66 1.608729532081818 -11.259928440084586 7.606704557478398 +106 -5.48913991134085 -11.579897448380924 10.069921535327802 +377 6.855885922127376 10.311538076341611 2.559155019516485 +528 2.297690991535742 -9.135682012201766 -7.83387718582674 +657 10.176141015762179 -0.6764674650092765 12.502499710447987 +746 0.5267417410351755 -6.464973104553375 -4.608621511650602 +805 -2.0007902319154245 -14.720453170443035 6.93845630962376 +1053 8.855925793795091 10.982548161858153 -13.647794519578488 +1061 -11.375985013689712 10.619923065347585 5.845550076175352 +1110 2.3825632330961954 -7.561968511019787 -1.3226923778622177 +1112 -11.473493136996964 6.595905776353855 -10.691365454018829 +1283 -7.037130435830825 14.116633138127108 18.215709754968533 +1391 14.15340916118452 16.519524767333156 -4.390950324381431 +2018 0.22391755132690427 3.477862841431781 10.97230848988125 +2115 18.99624836776456 6.210186881196452 -1.0800100392463163 +2277 -12.59773509889914 -6.800126447107948 -7.54318742621085 +2366 -8.83793651227347 4.982332260123542 17.090269243683064 +2516 17.970329690806906 8.524915110390664 -16.114076366302275 +2531 -7.71985978267249 -16.152908088642853 3.469301196958505 +2691 6.152107383838279 9.900998816830608 -12.158539946738776 +2827 -18.91991355075083 -11.36917293943904 18.816657871016556 +2856 16.17462403879287 6.727402459207942 -9.088801473171161 +2968 7.463506542761513 -15.085045422174463 0.6327983715492128 +204 0.09981874793197913 8.289547549159503 -9.831963425672972 +310 0.4188157619876877 -10.509976630943695 -7.438517000323002 +374 -10.491130318159124 2.9216972089642934 -3.606593681973984 +389 -0.5056028877178037 1.7944236157088598 7.702535080689157 +421 -11.621965603570514 10.706453753723752 -7.857621196818839 +465 -1.982707376456345 -7.457571890053484 -0.4994717988348658 +468 -8.022941376355684 -6.418307415757958 1.9523150320107 +968 12.762353114056848 12.938872577015847 6.916927200937309 +974 0.7446320766035379 -6.322928151893814 -4.059818421055038 +1173 -8.809238931323664 -8.666964600488436 -1.7206415718075718 +1182 -8.323812259763292 8.61994885708838 3.664460821149774 +1197 -11.212498253726476 11.886279058821243 4.45968739642885 +1208 9.023710305754959 -12.872501727547583 -7.323747243032011 +1348 14.07823162628223 7.187417981340761 1.3666322501270356 +1373 -13.35291711861014 -0.6050182719754784 16.971959728189464 +1447 17.13041793451804 1.6161532277216442 -2.7491563603923237 +69 6.0223605260831645 0.9916868081699585 8.813600195803375 +1886 7.689644686559568 -16.104452131125033 -5.1848948214722475 +1951 7.339261853541482 13.157681766407823 9.452282525735473 +1967 15.144068960776613 9.504183241190598 -18.624082420212453 +1985 -16.769050105548 2.225938830826062 16.538583618909684 +2056 -8.692031613656601 -11.954458747380967 19.36674946372861 +2069 -7.740780912801226 -15.03713901068198 -17.257617694661885 +2291 14.00907354671591 -18.55477069013324 4.177807521083909 +2560 -18.077197633253288 3.4761038050326696 -18.591816270012654 +2609 4.666510000924542 7.421162805034961 10.613626838430777 +2612 -3.769491807797185 -15.298592006660767 17.313429571115492 +2687 12.019126854237747 7.252445659767184 -3.117808464199604 +2768 -4.248674625101532 4.8384474737881 -10.406957779647298 +2889 11.374583080991208 -8.32052131211421 -6.968966380999982 +103 4.767203187110862 3.7642395036736103 -11.750690091162395 +155 -4.674852975808136 12.421075086699611 -6.586161750722438 +265 -12.97733999278354 -8.927815452075867 -7.113847680669369 +278 -8.784922883291898 3.623240761472179 12.805433238413839 +511 2.378872710773083 3.197764875273853 -11.53882341703634 +1011 -14.636591859178347 7.929444218557457 5.397580097914046 +1032 -9.907858137419666 0.0236643814669633 9.09436325697625 +1094 13.267902282365974 8.769686440975198 2.719716057331954 +1385 6.634021542164624 -3.5234146793235754 -2.0452204976427018 +1644 14.78748427519306 12.917826215760211 15.08136774862322 +1831 3.6571088221249624 12.994324570143734 7.419464983300335 +1864 18.547493492839894 -10.9526620766474 3.56368835034383 +1895 -16.71911726704111 18.393681595779498 -16.62728283714897 +2026 -5.606116473255784 0.6524426826641052 -13.113964740846052 +2145 -14.546553643466796 4.773465531549099 -5.153828963306857 +2209 -6.929146622050848 -13.071469564655436 19.223755711767613 +2246 13.308333960891954 1.2148046593382456 -7.01466272720278 +2247 10.765171196925042 17.86585715685731 9.043496132685796 +2332 -6.834234725305277 14.391876142134054 19.448214556358433 +2392 -13.533595882948218 -19.410272427109707 9.599398228774607 +2457 -7.173628864398844 -6.81714660531151 -19.249828346668153 +2566 17.522868752121628 13.109252527875794 18.555544538319538 +1884 -14.078060866068222 0.9340382167957191 16.49946872102742 +2808 -1.1964127043260202 0.5380026749348159 -16.049068599360478 +35 -3.019428232777262 4.672734654683404 -9.996393680002924 +48 -11.937315048620878 6.305188435770401 -9.458776571849715 +82 6.29983894951896 -11.398441829923902 -10.571336733785317 +108 -11.5441576102066 -5.493816189817909 -9.132296440383804 +135 4.596500735350087 7.9545129711748235 -7.059330887129422 +314 4.024066014873774 -7.499406114494512 0.6050661116957967 +604 5.392377688008225 -2.168069354243786 -11.790882049511824 +635 3.0908636510204164 -4.464525529134779 5.528349591303418 +771 16.42616798842558 -8.400553514461022 -3.4878492218820303 +872 -3.981500706452422 12.600928239146015 16.173079376216993 +875 5.988235234282369 7.464242722595763 1.0761907000938704 +1095 0.12397311185982236 -7.7459775514270985 12.147886654950042 +1220 -13.129527690475115 -8.629066557047206 -19.209918412953282 +1232 16.94400521012725 4.019300183847904 18.128485680612833 +1396 12.079380612781847 0.9187786280478323 -4.8103039303052135 +1401 -16.71390445496599 -11.573653574939916 -8.096419193278683 +1487 9.860903678999914 -12.458581091571574 12.27538629079051 +1548 14.788519927903153 -8.868981258127155 -14.574974506357123 +1663 5.31705994301685 6.3607418506262725 -18.249106038322857 +1710 -3.5904823412973474 14.643795953638902 -18.57497387336755 +1920 17.699261382324085 -0.9295271618823038 10.781184627924477 +2066 8.362971797508598 12.913800737741424 -13.381818740737938 +2295 -7.042383873904826 4.208144573204228 17.401309227908712 +2499 3.149529198129069 -13.010517717855581 -14.570164577896275 +2582 15.499542946881247 -12.576985875580078 -18.102689920094694 +2867 -10.429992445443057 16.132680428828913 -0.04200054670170165 +2887 7.701420696281869 -14.150169590464905 -3.311149618712712 +24 -1.6003070529484371 -2.871949281543293 1.0603343651020063 +28 -7.590496059806232 -5.781304467088922 4.0331823310009645 +65 13.702954827385067 -7.467543232443796 0.9231401890054083 +88 -7.828221031119957 -1.298760180629657 -8.566240873169976 +172 5.971956101633809 -1.1006572030930208 -2.9317804039436446 +294 -11.107346320930377 12.185102530415897 -0.81927197851833 +399 10.239936456839082 13.859643155806816 2.8595892547875503 +653 -13.737581768502524 12.086135309931214 -4.234023138591004 +678 -4.69030943340445 0.9603354269262174 -7.699283060975345 +689 2.7916107866109217 1.1612166395096144 0.8335338879243539 +720 3.719127504077375 -6.009719139835266 -3.9958886111304377 +2240 1.1134543667672434 -17.811502709987106 -6.291450758767102 +975 1.7002710450828666 1.4142057241056267 2.354049739351454 +1052 -0.6421457908162863 -1.7216870766273178 3.194906847301963 +1114 11.803293344272557 13.100131613971513 3.437842829013619 +1281 -8.459559391164635 15.09695000736993 -5.861171861758025 +1427 -10.18050758402495 15.571331036013744 10.877194357424251 +1433 -4.24250576975349 -9.060668408866299 16.75995653014593 +1437 -2.9923343895605385 -4.890380312854992 -9.525395833187325 +1554 3.894548695396892 5.957972266564933 -7.204600331892954 +1627 -2.51587318566929 7.61646871753722 0.9062021821996737 +1651 6.479320932282661 -16.837075187029924 -11.771507681051013 +1672 -6.052909437296341 16.463429953982075 -6.543936578404647 +1757 15.659852025185948 16.61215826826801 -15.2206030083744 +1838 -7.438920926018795 2.42374700189839 9.693596177429278 +1889 -11.936070168222706 -17.01604713014535 -1.8902175471059728 +1981 3.766329210277972 6.589327354968951 -17.328746646192926 +2183 -2.045279153495559 -0.10019216356970254 -3.3015345069660875 +2409 17.25280817281867 -18.6013079908628 5.885845607379763 +2514 1.358148481182193 18.688130732390864 -6.14148793243422 +2579 -18.336391962399254 -2.3774806146846874 13.894520839267368 +2617 -8.329028969284408 14.112486493887928 -12.283917400501808 +2654 11.349233205965277 -3.2526225765312775 2.767032733977089 +2835 -1.9769639812780533 11.475252696448841 -8.963821573825776 +2910 -10.414412593879165 3.632087656259433 16.289281519734534 +2962 17.94796292484188 -14.656117312252267 -1.8886114878509044 +95 -6.010616985739609 12.525017305982484 -6.075905528840144 +124 -4.804445535722978 3.33295271789681 7.0837336561371265 +508 11.97769517996487 9.64230392090354 -6.030219897568888 +613 -13.670735492519656 -8.78501204125535 8.705935044651195 +758 -9.10682200072907 -7.6728780208173415 -1.7125108502440658 +807 -13.505392230740856 -9.012330256254318 13.589021615393614 +1234 15.39935759107301 -11.092290331439406 8.412964405159427 +1410 -9.197895254591824 -9.118773734644625 -19.18371208857891 +1534 -13.27961551566979 16.391322602103255 -3.4684998613520728 +1537 15.50994026423711 5.398636634796869 -1.633146081532414 +1716 15.066126302855947 -7.108323542196062 -13.932785015221109 +1785 -12.761652262323047 -18.24431204460591 9.38426076959346 +1858 -5.90545458199429 -13.616261618092603 -5.122027037234463 +1943 7.393907253166882 -9.049628467051003 6.343145757829771 +2158 6.011421612029508 -3.0234136291868583 14.165598656351007 +2160 -7.071719038966821 -18.51170375494176 -16.663641591344156 +2796 18.303157693894885 -2.2370648433374973 -16.911987044974158 +2878 -12.127406176006536 -18.97247901610492 -0.6949866251745241 +68 7.366710778086018 4.3542454643979855 -10.830369316287747 +99 4.721614254195144 -1.899620072668731 5.270872211248402 +282 11.76400014351112 -4.531445455579077 -3.282878255132512 +383 -11.767345744063842 -10.207090084975952 12.846754825153965 +460 11.878526687760393 4.8585969347303095 -12.911878455203821 +500 11.175666990882442 -5.505374489688485 -6.213184899703319 +866 -6.5876026145350846 -8.343442682476866 8.192797476936668 +900 7.3610020367026525 -3.749666240843082 -11.922874051539178 +1004 -13.578492598737437 4.833993288577111 -0.6689457322890442 +1206 -16.787411980253786 7.162091229917968 6.8231693836554905 +1494 12.950832580487226 -10.778442225608968 -7.7999681768085685 +1506 8.160671770710621 -16.542808429397375 -4.350956273313075 +1544 0.7587845418318895 17.78520317890332 -13.945143878447608 +1587 -11.090661838389426 3.8875811686148873 -0.863739286252643 +1652 16.238079567715317 15.01286760392522 -8.085313950554129 +1715 -15.458573700669502 0.9241899344463359 7.751477564553571 +1804 7.073284807649246 10.886044709299306 4.052249221398617 +1821 7.023640129023922 -0.4385949260867339 -7.848491132548266 +1832 0.339878460669395 -7.218262459358984 19.58891770280824 +2256 5.798041035668019 16.447316124217227 -3.017915429426457 +2210 -0.02610968360190616 -5.076459360184865 -1.5141385142844044 +41 -1.606854444559823 -0.23998439958097745 11.958645397944949 +101 14.107820991163855 8.511035801480215 -5.520104591372095 +198 -6.659553419176588 7.057528977619731 -12.525061422501535 +428 4.084610885782839 -3.987541996776701 11.510522578489237 +600 4.825613755317223 -0.4266279792547336 1.742827344679067 +789 -13.887272778456671 13.813648160102419 -3.8849480875699407 +954 -12.642427349357602 10.55463248660764 -12.528499456294755 +1097 -13.854445585830552 9.709970841033448 13.959820261997468 +1129 -13.655492281321045 -14.159563207969367 -15.299108761853022 +1161 -6.61298653450513 -9.924282723638786 -11.914793481833865 +1162 9.17952388355728 -10.519694399491815 -14.053361391017678 +1167 7.811955456742992 -10.024387294210342 5.814500503525913 +1174 15.77350863635602 8.176191086807448 0.09286648994764858 +1759 17.438648446589067 8.56739004849059 -7.7121980240554695 +1773 -5.965939704324487 -11.17112573929781 15.989031990619452 +1974 17.125258596915852 -6.710788707519208 4.6213440904807745 +2112 10.289784665683513 -15.771991222080883 17.076398202665224 +2919 7.020520997694518 -13.668812606945357 13.093022479729093 +104 2.694261283766279 8.256653528418196 0.6881084479076419 +1357 -5.6061178238056115 0.6297439917028045 -2.680638003428377 +2385 10.938482292185205 -8.771257735647506 -18.24268023174468 +2109 10.062379341133207 3.1429311562290945 -13.622296858354968 +2362 15.011413028976342 13.958224100923848 -18.232466169399952 +121 -6.514184703570357 -0.3894391847386166 7.068030457072635 +197 0.7924146331801465 -13.007893470012341 9.297608913552057 +731 13.434191867382756 -8.248677335975222 -1.1851347832684127 +664 9.01364679529034 13.431502252114463 14.481120234947909 +960 7.313165537855884 9.659803209518872 -11.810057035455827 +1111 1.4460656180609446 12.146522943136912 -2.871978754731447 +1438 -15.433853181863476 -14.721298789103034 0.01093910849078047 +1706 10.846818267018865 18.352374189755313 -5.406449582417788 +1878 8.393882251190387 -16.276520246025818 3.1499683987720095 +340 -8.149256698881002 11.405605097524251 -3.4829520978365824 +357 9.499298409790114 -11.738193272891042 -2.5695721845368316 +806 -12.916189702066877 -13.143198317232374 -0.5143064056599679 +1682 13.72993210762739 -6.9222287627857595 17.51338931406941 +1446 -13.340391243471789 13.952252316346673 -1.021181840797822 +2554 9.804695109201822 -16.523471950483867 7.0930642468444045 +2373 -11.017824149315036 13.086921697486595 -4.021518661312548 +2111 -1.0047699027231247 7.650718277914335 -11.356775145620219 +2275 14.067621743333826 -14.360794442904794 -15.911013059843327 +2694 -5.279871141283455 -3.165422994579214 18.188571423458043 +2399 -1.3792422922680758 -15.223121219939038 -7.618802886020248 +1455 8.149352228579557 -10.825240164204683 -10.47247070697683 +234 -10.76134370704678 -3.427208120579764 -7.403484597499105 +1808 1.3591107296840588 -4.332381269149936 1.632136913840878 +251 0.18005721222562182 4.76970859790914 14.2405164677342 +349 13.024219442017673 -6.733126029860115 6.472725460569033 +796 15.273787117013828 12.202972741961656 -2.301316366211846 +2552 4.643744311741359 16.728450427331857 18.84360833009555 +1229 -10.314240305553046 1.927766940114816 -17.32251687009723 +33 3.7546139615737486 -1.0525442227325994 -11.183243271767353 +1668 -9.425968097520016 -1.4228327334913748 -10.47779462915132 +158 4.067237042923877 13.863714232653344 -13.223303956540327 +2400 7.974368203597156 -12.305055113277286 5.84701370443851 +1685 0.5080366060630412 -2.881938041238056 1.1714283953901679 +804 -3.615234819505437 -11.09345193719286 -11.905731829724735 +1353 0.4814526387556501 -18.555428280144824 -6.874307803600548 +2544 -10.628946065276365 3.726110544455305 -10.381962040687108 +22 -10.056949402544367 4.560419724600141 -10.384330705799007 +1018 -12.881109680053669 -12.079472350212026 -7.129400523192977 +1718 14.882615983048499 4.882514673634039 -14.436958844561246 +2653 18.75026208742554 -12.813856674606185 -1.5019067669978072 +2868 13.160947399609594 -6.7507087521071165 -0.03346156765866535 +2006 -2.892433196736403 -11.151003130880287 1.452508512255615 +2328 -15.45479699757919 -13.986806371478613 -1.177108184152851 +1546 -4.156766405925731 -18.181015734557796 14.993734293413537 +1916 13.430212432061092 11.58909583415679 -16.060312163938374 +332 1.2576645126867545 3.7740145505008993 11.696052316931485 +1015 2.9820228673102394 -2.7811648737094736 15.817192670583902 +1153 -1.2968297158497366 13.523959943229821 -0.9856758798193691 +1636 3.1427133929120052 -9.98468828379863 7.1948572132149495 +1653 5.927421062854784 -3.8718310022878724 -18.117997270854747 +1770 12.519654582306087 -6.877881761866644 18.186004886016427 +2486 -5.49944015596549 -9.317730949860588 7.5423130032406736 +2841 1.677007053872281 8.300069515780816 6.62920454888189 +2335 -10.883530128327966 -3.028776772058384 2.4133015594229574 +305 -7.74249404319521 2.9215357652095544 -6.319978867870987 +436 5.852135899565943 13.212769144037765 3.886727975664093 +1661 -8.64118899733373 19.503919770679385 -12.73302175757051 +633 -6.968536321355608 -2.299809561665563 -2.62733304227677 +2071 -2.3788501779970863 -1.8261731073618326 -9.026553244541692 +1670 14.575181820858559 11.315530304289746 10.900490903943252 +1883 -6.8362277353367755 -19.10464345727179 12.019537310070156 +2709 9.350261957028845 -11.542058903514121 13.405930018857608 +1667 -4.955675195672617 -2.2343026769282073 -9.68127877644112 +1473 11.639484596452077 15.0676983573892 12.015640353293122 +1367 15.258724326451466 16.058808090831462 12.562337047001408 +2534 10.122786861600309 -0.6064592356393937 -7.246316571250921 +2890 -5.0767896206525 0.23273045100893455 -12.473379137134977 +238 0.5397949276884527 -5.344701199953292 -9.95262098932802 +1511 6.3717649690380975 17.54191146447949 12.318381902350522 +959 -10.654483268600218 6.720770154882398 -4.633369778894626 +2161 -18.088216404287497 14.248731895120583 4.397231917430295 +2805 -3.411020367602394 12.998449769841725 -1.634348837407725 +661 -9.68407335986619 1.1458951098050734 4.891785925445228 +1896 5.098026768104461 9.21429290377474 8.316838181611637 +375 9.810635568285528 9.734053686938635 -13.259067945647686 +2679 -9.901524469527768 1.2778277020542463 -5.997993254241698 +1583 0.47806723010202845 2.9320536232166297 8.724059889682737 +496 -11.905058303097334 13.242925900870825 3.6984494434906883 +331 -3.4758523673267425 -4.617347489563868 -10.445173332089329 +499 3.5940577670935565 4.654911817696662 0.30861824383283687 +1595 -11.758456841733029 -10.538584320624494 -13.38948406004756 +1972 -12.872313577638627 3.1360449216635633 -11.780173484023177 +1290 17.511749784890714 -16.9951394325122 -3.231746578411683 +2892 -17.2187426635682 8.496472658765061 15.36293260337293 +723 -8.811126583929111 -7.696841717507485 -12.119558448834562 +2520 0.6569717004780673 -8.083250841592342 -16.852470704886883 +2786 14.19098207792586 -18.273847291799875 -16.69836795056262 diff --git a/examples/nb3b/in.nb3b.screened b/examples/nb3b/in.nb3b.screened new file mode 100644 index 0000000000..bc2619dccc --- /dev/null +++ b/examples/nb3b/in.nb3b.screened @@ -0,0 +1,35 @@ +### LAMMPS input file + +units metal +dimension 3 +boundary p p p +atom_style charge + +read_data data.NaPO3 + +pair_style hybrid/overlay coul/dsf 0.2 12.0 table spline 20000 buck 7.0 nb3b/screened + +pair_coeff * * coul/dsf +pair_coeff 1 3 table Table_NP.dat Pair_P-O 7.0 +pair_coeff 2 3 table Table_NP.dat Pair_Na-O 7.0 +pair_coeff 3 3 table Table_NP.dat Pair_O-O 7.0 + +# pair Buckingham +pair_coeff 1 1 buck 5.093669 0.905598 0.0 + +# shrm +pair_coeff * * nb3b/screened PSiO.nb3b.screened P NULL O + +neighbor 1.0 bin +neigh_modify every 10 delay 10 check no +timestep 0.002 + +thermo 100 +thermo_style custom step density lx press pe evdwl ecoul temp + +#dump 2 all custom 10000 NaPO3-melt.lammpstrj id type element x y z +#dump_modify 2 element P Na O +variable temp equal 2500 + +fix 1 all npt temp ${temp} ${temp} $(100*dt) iso 1 1 $(1000*dt) +run 1000 diff --git a/examples/nb3b/log.30Oct23.nb3b.screened.g++.1 b/examples/nb3b/log.30Oct23.nb3b.screened.g++.1 new file mode 100644 index 0000000000..2768917c7e --- /dev/null +++ b/examples/nb3b/log.30Oct23.nb3b.screened.g++.1 @@ -0,0 +1,132 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-700-g901ed98d31) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +### LAMMPS input file + +units metal +dimension 3 +boundary p p p +atom_style charge + +read_data data.NaPO3 +Reading data file ... + orthogonal box = (0 0 0) to (34.33782 34.33782 34.33782) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 3000 atoms + reading velocities ... + 3000 velocities + read_data CPU = 0.019 seconds + +pair_style hybrid/overlay coul/dsf 0.2 12.0 table spline 20000 buck 7.0 nb3b/screened + +pair_coeff * * coul/dsf +pair_coeff 1 3 table Table_NP.dat Pair_P-O 7.0 +WARNING: 1 of 4995 force values in table Pair_P-O are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/pair_table.cpp:466) +pair_coeff 2 3 table Table_NP.dat Pair_Na-O 7.0 +WARNING: 2 of 4995 force values in table Pair_Na-O are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/pair_table.cpp:466) +pair_coeff 3 3 table Table_NP.dat Pair_O-O 7.0 + +# pair Buckingham +pair_coeff 1 1 buck 5.093669 0.905598 0.0 + +# shrm +pair_coeff * * nb3b/screened PSiO.nb3b.screened P NULL O +Reading nb3b/screened potential file PSiO.nb3b.screened with DATE: 2023-10-30 + +neighbor 1.0 bin +neigh_modify every 10 delay 10 check no +timestep 0.002 + +thermo 100 +thermo_style custom step density lx press pe evdwl ecoul temp + +#dump 2 all custom 10000 NaPO3-melt.lammpstrj id type element x y z +#dump_modify 2 element P Na O +variable temp equal 2500 + +fix 1 all npt temp ${temp} ${temp} $(100*dt) iso 1 1 $(1000*dt) +fix 1 all npt temp 2500 ${temp} $(100*dt) iso 1 1 $(1000*dt) +fix 1 all npt temp 2500 2500 $(100*dt) iso 1 1 $(1000*dt) +fix 1 all npt temp 2500 2500 0.2000000000000000111 iso 1 1 $(1000*dt) +fix 1 all npt temp 2500 2500 0.2000000000000000111 iso 1 1 2 +run 1000 +Neighbor list info ... + update: every = 10 steps, delay = 10 steps, check = no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13 + ghost atom cutoff = 13 + binsize = 6.5, bins = 6 6 6 + 6 neighbor lists, perpetual/occasional/extra = 6 0 0 + (1) pair coul/dsf, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard + (2) pair table, perpetual, skip from (5) + attributes: half, newton on, cut 8 + pair build: skip + stencil: none + bin: none + (3) pair buck, perpetual, skip from (5) + attributes: half, newton on, cut 8 + pair build: skip + stencil: none + bin: none + (4) pair nb3b/screened, perpetual, skip from (6) + attributes: full, newton on, cut 4.3 + pair build: skip + stencil: none + bin: none + (5) neighbor class addition, perpetual, trim from (1) + attributes: half, newton on, cut 8 + pair build: trim + stencil: none + bin: none + (6) neighbor class addition, perpetual + attributes: full, newton on, cut 4.3 + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 12.11 | 12.11 | 12.11 Mbytes + Step Density Lx Press PotEng E_vdwl E_coul Temp + 0 2.509108 34.33782 46464.417 -50581.248 2292.3853 -52873.634 2500 + 100 2.4533672 34.595928 33156.229 -50182.221 2373.5614 -52555.782 1666.1883 + 200 2.3649528 35.021791 29182.391 -50158.578 2367.6353 -52526.213 1885.4424 + 300 2.2932707 35.382952 14450.387 -50100.892 2239.9823 -52340.875 2045.1557 + 400 2.2282371 35.723887 16680.683 -50048.753 2281.6385 -52330.392 2257.1768 + 500 2.1753698 36.010969 15871.062 -49981.163 2285.6757 -52266.839 2396.7925 + 600 2.1285968 36.272824 15066.532 -49934.767 2282.4577 -52217.225 2540.7515 + 700 2.0841139 36.529076 7572.3436 -49895.93 2222.7473 -52118.677 2577.5774 + 800 2.0485057 36.739517 6642.7187 -49870.601 2230.3801 -52100.981 2556.7855 + 900 2.0180051 36.923689 8318.7918 -49890.3 2255.1538 -52145.454 2538.111 + 1000 1.990678 37.091879 7724.2804 -49928.89 2250.855 -52179.745 2492.3778 +Loop time of 30.3284 on 1 procs for 1000 steps with 3000 atoms + +Performance: 5.698 ns/day, 4.212 hours/ns, 32.972 timesteps/s, 98.917 katom-step/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 | 27.347 | 27.347 | 27.347 | 0.0 | 90.17 +Neigh | 2.8101 | 2.8101 | 2.8101 | 0.0 | 9.27 +Comm | 0.067332 | 0.067332 | 0.067332 | 0.0 | 0.22 +Output | 0.00047847 | 0.00047847 | 0.00047847 | 0.0 | 0.00 +Modify | 0.087652 | 0.087652 | 0.087652 | 0.0 | 0.29 +Other | | 0.01585 | | | 0.05 + +Nlocal: 3000 ave 3000 max 3000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 11846 ave 11846 max 11846 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 811471 ave 811471 max 811471 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 811471 +Ave neighs/atom = 270.49033 +Neighbor list builds = 100 +Dangerous builds not checked +Total wall time: 0:00:30 diff --git a/examples/nb3b/log.30Oct23.nb3b.screened.g++.4 b/examples/nb3b/log.30Oct23.nb3b.screened.g++.4 new file mode 100644 index 0000000000..fd42272af4 --- /dev/null +++ b/examples/nb3b/log.30Oct23.nb3b.screened.g++.4 @@ -0,0 +1,132 @@ +LAMMPS (3 Aug 2023 - Development - patch_2Aug2023-700-g901ed98d31) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +### LAMMPS input file + +units metal +dimension 3 +boundary p p p +atom_style charge + +read_data data.NaPO3 +Reading data file ... + orthogonal box = (0 0 0) to (34.33782 34.33782 34.33782) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 3000 atoms + reading velocities ... + 3000 velocities + read_data CPU = 0.011 seconds + +pair_style hybrid/overlay coul/dsf 0.2 12.0 table spline 20000 buck 7.0 nb3b/screened + +pair_coeff * * coul/dsf +pair_coeff 1 3 table Table_NP.dat Pair_P-O 7.0 +WARNING: 1 of 4995 force values in table Pair_P-O are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/pair_table.cpp:466) +pair_coeff 2 3 table Table_NP.dat Pair_Na-O 7.0 +WARNING: 2 of 4995 force values in table Pair_Na-O are inconsistent with -dE/dr. +WARNING: Should only be flagged at inflection points (src/pair_table.cpp:466) +pair_coeff 3 3 table Table_NP.dat Pair_O-O 7.0 + +# pair Buckingham +pair_coeff 1 1 buck 5.093669 0.905598 0.0 + +# shrm +pair_coeff * * nb3b/screened PSiO.nb3b.screened P NULL O +Reading nb3b/screened potential file PSiO.nb3b.screened with DATE: 2023-10-30 + +neighbor 1.0 bin +neigh_modify every 10 delay 10 check no +timestep 0.002 + +thermo 100 +thermo_style custom step density lx press pe evdwl ecoul temp + +#dump 2 all custom 10000 NaPO3-melt.lammpstrj id type element x y z +#dump_modify 2 element P Na O +variable temp equal 2500 + +fix 1 all npt temp ${temp} ${temp} $(100*dt) iso 1 1 $(1000*dt) +fix 1 all npt temp 2500 ${temp} $(100*dt) iso 1 1 $(1000*dt) +fix 1 all npt temp 2500 2500 $(100*dt) iso 1 1 $(1000*dt) +fix 1 all npt temp 2500 2500 0.2000000000000000111 iso 1 1 $(1000*dt) +fix 1 all npt temp 2500 2500 0.2000000000000000111 iso 1 1 2 +run 1000 +Neighbor list info ... + update: every = 10 steps, delay = 10 steps, check = no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 13 + ghost atom cutoff = 13 + binsize = 6.5, bins = 6 6 6 + 6 neighbor lists, perpetual/occasional/extra = 6 0 0 + (1) pair coul/dsf, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard + (2) pair table, perpetual, skip from (5) + attributes: half, newton on, cut 8 + pair build: skip + stencil: none + bin: none + (3) pair buck, perpetual, skip from (5) + attributes: half, newton on, cut 8 + pair build: skip + stencil: none + bin: none + (4) pair nb3b/screened, perpetual, skip from (6) + attributes: full, newton on, cut 4.3 + pair build: skip + stencil: none + bin: none + (5) neighbor class addition, perpetual, trim from (1) + attributes: half, newton on, cut 8 + pair build: trim + stencil: none + bin: none + (6) neighbor class addition, perpetual + attributes: full, newton on, cut 4.3 + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.188 | 7.188 | 7.189 Mbytes + Step Density Lx Press PotEng E_vdwl E_coul Temp + 0 2.509108 34.33782 46464.417 -50581.248 2292.3853 -52873.634 2500 + 100 2.4533672 34.595928 33156.229 -50182.221 2373.5614 -52555.782 1666.1883 + 200 2.3649528 35.021791 29182.391 -50158.578 2367.6353 -52526.213 1885.4424 + 300 2.2932707 35.382952 14450.387 -50100.892 2239.9823 -52340.875 2045.1557 + 400 2.2282371 35.723887 16680.683 -50048.753 2281.6385 -52330.392 2257.1768 + 500 2.1753698 36.010969 15871.062 -49981.163 2285.6757 -52266.839 2396.7925 + 600 2.1285968 36.272824 15066.532 -49934.767 2282.4577 -52217.225 2540.7515 + 700 2.0841139 36.529076 7572.3446 -49895.929 2222.7474 -52118.677 2577.5774 + 800 2.0485057 36.739517 6642.7277 -49870.601 2230.3802 -52100.981 2556.7856 + 900 2.0180051 36.923689 8318.7257 -49890.301 2255.153 -52145.454 2538.1115 + 1000 1.990678 37.091879 7730.4071 -49928.905 2250.9166 -52179.822 2492.4197 +Loop time of 9.72954 on 4 procs for 1000 steps with 3000 atoms + +Performance: 17.760 ns/day, 1.351 hours/ns, 102.780 timesteps/s, 308.339 katom-step/s +99.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 7.1441 | 8.0123 | 8.622 | 19.6 | 82.35 +Neigh | 0.7458 | 0.78431 | 0.80001 | 2.5 | 8.06 +Comm | 0.26061 | 0.88607 | 1.7928 | 61.3 | 9.11 +Output | 0.00024827 | 0.00027521 | 0.00035196 | 0.0 | 0.00 +Modify | 0.03802 | 0.038395 | 0.038805 | 0.1 | 0.39 +Other | | 0.008186 | | | 0.08 + +Nlocal: 750 ave 765 max 731 min +Histogram: 1 0 0 0 1 0 0 1 0 1 +Nghost: 6607.5 ave 6671 max 6552 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Neighs: 202867 ave 217674 max 182729 min +Histogram: 1 0 0 0 1 0 0 0 1 1 + +Total # of neighbors = 811469 +Ave neighs/atom = 270.48967 +Neighbor list builds = 100 +Dangerous builds not checked +Total wall time: 0:00:09 diff --git a/lib/kokkos/CHANGELOG.md b/lib/kokkos/CHANGELOG.md index 4c145c44b3..c6115f4b3d 100644 --- a/lib/kokkos/CHANGELOG.md +++ b/lib/kokkos/CHANGELOG.md @@ -1,6 +1,97 @@ # CHANGELOG -## [4.1.00](https://github.com/kokkos/kokkos/tree/4.0.01) (2023-06-16) +## [4.2.00](https://github.com/kokkos/kokkos/tree/4.2.00) (2023-11-06) +[Full Changelog](https://github.com/kokkos/kokkos/compare/4.1.00...4.2.00) + +### Features: +- SIMD: significant improvements to SIMD support and alignment with C++26 SIMD + - add `Kokkos::abs` overload for SIMD types [\#6069](https://github.com/kokkos/kokkos/pull/6069) + - add generator constructors [\#6347](https://github.com/kokkos/kokkos/pull/6347) + - convert binary operators to hidden friends [\#6320](https://github.com/kokkos/kokkos/pull/6320) + - add shift operators [\#6109](https://github.com/kokkos/kokkos/pull/6109) + - add `float` support [\#6177](https://github.com/kokkos/kokkos/pull/6177) + - add remaining `gather_from` and `scatter_to` overloads [\#6220](https://github.com/kokkos/kokkos/pull/6220) + - define simd math function overloads in the Kokkos namespace [\#6465](https://github.com/kokkos/kokkos/pull/6465), [\#6487](https://github.com/kokkos/kokkos/pull/6487) + - `Kokkos_ENABLE_NATIVE=ON` autodetects SIMD types supported [\#6188](https://github.com/kokkos/kokkos/pull/6188) + - fix AVX2 SIMD support for ZEN2 AMD CPU [\#6238](https://github.com/kokkos/kokkos/pull/6238) +- `Kokkos::printf` [\#6083](https://github.com/kokkos/kokkos/pull/6083) +- `Kokkos::sort`: support custom comparator [\#6253](https://github.com/kokkos/kokkos/pull/6253) +- `half_t` and `bhalf_t` numeric traits [\#5778](https://github.com/kokkos/kokkos/pull/5778) +- `half_t` and `bhalf_t` mixed comparisons [\#6407](https://github.com/kokkos/kokkos/pull/6407) +- `half_t` and `bhalf_t` mathematical functions [\#6124](https://github.com/kokkos/kokkos/pull/6124) +- `TeamThreadRange` `parallel_scan` with return value [\#6090](https://github.com/kokkos/kokkos/pull/6090), [\#6301](https://github.com/kokkos/kokkos/pull/6301), [\#6302](https://github.com/kokkos/kokkos/pull/6302), [\#6303](https://github.com/kokkos/kokkos/pull/6303), [\#6307](https://github.com/kokkos/kokkos/pull/6307) +- `ThreadVectorRange` `parallel_scan` with return value [\#6235](https://github.com/kokkos/kokkos/pull/6235), [\#6242](https://github.com/kokkos/kokkos/pull/6242), [\#6308](https://github.com/kokkos/kokkos/pull/6308), [\#6305](https://github.com/kokkos/kokkos/pull/6305), [\#6292](https://github.com/kokkos/kokkos/pull/6292) +- Add team-level std algorithms [\#6200](https://github.com/kokkos/kokkos/pull/6200), [\#6205](https://github.com/kokkos/kokkos/pull/6205), [\#6207](https://github.com/kokkos/kokkos/pull/6207), [\#6208](https://github.com/kokkos/kokkos/pull/6208), [\#6209](https://github.com/kokkos/kokkos/pull/6209), [\#6210](https://github.com/kokkos/kokkos/pull/6210), [\#6211](https://github.com/kokkos/kokkos/pull/6211), [\#6212](https://github.com/kokkos/kokkos/pull/6212), [\#6213](https://github.com/kokkos/kokkos/pull/6213), [\#6256](https://github.com/kokkos/kokkos/pull/6256), [\#6258](https://github.com/kokkos/kokkos/pull/6258), [\#6350](https://github.com/kokkos/kokkos/pull/6350), [\#6351](https://github.com/kokkos/kokkos/pull/6351) +- Serial: Allow for distinct execution space instances [\#6441](https://github.com/kokkos/kokkos/pull/6441) + +### Backend and Architecture Enhancements: + +#### CUDA: +- Fixed potential data race in Cuda `parallel_reduce` [\#6236](https://github.com/kokkos/kokkos/pull/6236) +- Use `cudaMallocAsync` by default [\#6402](https://github.com/kokkos/kokkos/pull/6402) +- Bugfix for using Kokkos from a thread of execution [\#6299](https://github.com/kokkos/kokkos/pull/6299) + +#### HIP: +- New naming convention for AMD GPU: VEGA906, VEGA908, VEGA90A, NAVI1030 to AMD_GFX906, AMD_GFX908, AMD_GFX90A, AMD_GFX1030 [\#6266](https://github.com/kokkos/kokkos/pull/6266) +- Add initial support for gfx942: [\#6358](https://github.com/kokkos/kokkos/pull/6358) +- Improve reduction performance [\#6229](https://github.com/kokkos/kokkos/pull/6229) +- Deprecate `HIP(hipStream_t,bool)` constructor [\#6401](https://github.com/kokkos/kokkos/pull/6401) +- Add support for Graph [\#6370](https://github.com/kokkos/kokkos/pull/6370) +- Improve reduction performance when using Teams [\#6284](https://github.com/kokkos/kokkos/pull/6284) +- Fix concurrency calculation [\#6479](https://github.com/kokkos/kokkos/pull/6479) +- Fix potential data race in HIP `parallel_reduce` [\#6429](https://github.com/kokkos/kokkos/pull/6429) + +#### SYCL: +- Enforce external `sycl::queues` to be in-order [\#6246](https://github.com/kokkos/kokkos/pull/6246) +- Improve reduction performance: [\#6272](https://github.com/kokkos/kokkos/pull/6272) [\#6271](https://github.com/kokkos/kokkos/pull/6271) [\#6270](https://github.com/kokkos/kokkos/pull/6270) [\#6264](https://github.com/kokkos/kokkos/pull/6264) +- Allow using the SYCL execution space on AMD GPUs [\#6321](https://github.com/kokkos/kokkos/pull/6321) +- Allow sorting via native oneDPL to support Views with stride=1 [\#6322](https://github.com/kokkos/kokkos/pull/6322) +- Make in-order queues the default via macro [\#6189](https://github.com/kokkos/kokkos/pull/6189) + +#### OpenACC: +- Support Clacc compiler [\#6250](https://github.com/kokkos/kokkos/pull/6250) + +### General Enhancements +- Add missing `is_*_view` traits and `is_*_view_v` helper variable templates for `DynRankView`, `DynamicView`, `OffsetView`, `ScatterView` containers [\#6195](https://github.com/kokkos/kokkos/pull/6195) +- Make `nvcc_wrapper` and `compiler_launcher` scripts more portable by switching to a `#!/usr/bin/env` shebang [\#6357](https://github.com/kokkos/kokkos/pull/6357) +- Add an improved `Kokkos::malloc` / `Kokkos::free` performance test [\#6377](https://github.com/kokkos/kokkos/pull/6377) +- Ensure `Views` with `size==0` can be used with `deep_copy` [\#6273](https://github.com/kokkos/kokkos/pull/6273) +- `Kokkos::abort` is moved to header `Kokkos_Abort.hpp` [\#6445](https://github.com/kokkos/kokkos/pull/6445) +- `KOKKOS_ASSERT`, `KOKKOS_EXPECTS`, `KOKKOS_ENSURES` are moved to header `Kokkos_Assert.hpp` [\#6445](https://github.com/kokkos/kokkos/pull/6445) +- Add a permuted-index mode to the gups benchmark [\#6378](https://github.com/kokkos/kokkos/pull/6378) +- Check for overflow during backend initialization [\#6159](https://github.com/kokkos/kokkos/pull/6159) +- Make constraints on `Kokkos::sort` more visible [\#6234](https://github.com/kokkos/kokkos/pull/6234) and cleanup API [\#6239](https://github.com/kokkos/kokkos/pull/6239) +- Add converting assignment to `DualView`: [\#6474](https://github.com/kokkos/kokkos/pull/6474) + + +### Build System Changes + +- Export `Kokkos_CXX_COMPILER_VERSION` [\#6282](https://github.com/kokkos/kokkos/pull/6282) +- Disable default oneDPL support in Trilinos [\#6342](https://github.com/kokkos/kokkos/pull/6342) + +### Incompatibilities (i.e. breaking changes) + - Ensure that `Kokkos::complex` only gets instantiated for cv-unqualified floating-point types [\#6251](https://github.com/kokkos/kokkos/pull/6251) + - Removed (deprecated-3) support for volatile join operators in reductions [\#6385](https://github.com/kokkos/kokkos/pull/6385) + - Enforce `ViewCtorArgs` restrictions for `create_mirror_view` [\#6304](https://github.com/kokkos/kokkos/pull/6304) + - SIMD types for ARM NEON are not autodetected anymore but need `Kokkos_ARCH_ARM_NEON` or `Kokkos_ARCH_NATIVE=ON` [\#6394](https://github.com/kokkos/kokkos/pull/6394) + - Remove `#include ` from headers where possible [\#6482](https://github.com/kokkos/kokkos/pull/6482) + +### Deprecations +- Deprecated `Kokkos::vector` [\#6252](https://github.com/kokkos/kokkos/pull/6252) +- All host allocation mechanisms except for `STD_MALLOC` have been deprecated [\#6341](https://github.com/kokkos/kokkos/pull/6341) + +### Bug Fixes + - Missing memory fence in `RandomPool::free_state` functions [\#6290](https://github.com/kokkos/kokkos/pull/6290) + - Fix for corner case in `Kokkos::Experimental::is_partitioned` algorithm [\#6257](https://github.com/kokkos/kokkos/pull/6257) + - Fix initialization of scratch lock variables in the `Cuda` backend [\#6433](https://github.com/kokkos/kokkos/pull/6433) + - Fixes for `Kokkos::Array` [\#6372](https://github.com/kokkos/kokkos/pull/6372) + - Fixed symlink configure issue for Windows [\#6241](https://github.com/kokkos/kokkos/pull/6241) + - OpenMPTarget init-join fix [\#6444](https://github.com/kokkos/kokkos/pull/6444) + - Fix atomic operations bug for Min and Max [\#6435](https://github.com/kokkos/kokkos/pull/6435) + - Fix implementation for `cyl_bessel_i0` [\#6484](https://github.com/kokkos/kokkos/pull/6484) + - Fix various NVCC warnings in `BinSort`, `Array`, and bit manipulation function templates [\#6483](https://github.com/kokkos/kokkos/pull/6483) + +## [4.1.00](https://github.com/kokkos/kokkos/tree/4.1.00) (2023-06-16) [Full Changelog](https://github.com/kokkos/kokkos/compare/4.0.01...4.1.00) ### Features: diff --git a/lib/kokkos/CMakeLists.txt b/lib/kokkos/CMakeLists.txt index 895cee6a08..f6bd81058e 100644 --- a/lib/kokkos/CMakeLists.txt +++ b/lib/kokkos/CMakeLists.txt @@ -150,8 +150,8 @@ ENDIF() set(Kokkos_VERSION_MAJOR 4) -set(Kokkos_VERSION_MINOR 1) -set(Kokkos_VERSION_PATCH 00) +set(Kokkos_VERSION_MINOR 2) +set(Kokkos_VERSION_PATCH 0) set(Kokkos_VERSION "${Kokkos_VERSION_MAJOR}.${Kokkos_VERSION_MINOR}.${Kokkos_VERSION_PATCH}") message(STATUS "Kokkos version: ${Kokkos_VERSION}") math(EXPR KOKKOS_VERSION "${Kokkos_VERSION_MAJOR} * 10000 + ${Kokkos_VERSION_MINOR} * 100 + ${Kokkos_VERSION_PATCH}") @@ -314,7 +314,6 @@ KOKKOS_PROCESS_SUBPACKAGES() # E) If Kokkos itself is enabled, process the Kokkos package # -KOKKOS_EXCLUDE_AUTOTOOLS_FILES() KOKKOS_PACKAGE_POSTPROCESS() KOKKOS_CONFIGURE_CORE() diff --git a/lib/kokkos/Makefile.kokkos b/lib/kokkos/Makefile.kokkos index 46998091fe..c970f72755 100644 --- a/lib/kokkos/Makefile.kokkos +++ b/lib/kokkos/Makefile.kokkos @@ -11,8 +11,8 @@ CXXFLAGS += $(SHFLAGS) endif KOKKOS_VERSION_MAJOR = 4 -KOKKOS_VERSION_MINOR = 1 -KOKKOS_VERSION_PATCH = 00 +KOKKOS_VERSION_MINOR = 2 +KOKKOS_VERSION_PATCH = 0 KOKKOS_VERSION = $(shell echo $(KOKKOS_VERSION_MAJOR)*10000+$(KOKKOS_VERSION_MINOR)*100+$(KOKKOS_VERSION_PATCH) | bc) # Options: Cuda,HIP,SYCL,OpenMPTarget,OpenMP,Threads,Serial @@ -23,7 +23,7 @@ KOKKOS_DEVICES ?= "OpenMP" # NVIDIA: Kepler,Kepler30,Kepler32,Kepler35,Kepler37,Maxwell,Maxwell50,Maxwell52,Maxwell53,Pascal60,Pascal61,Volta70,Volta72,Turing75,Ampere80,Ampere86,Ada89,Hopper90 # ARM: ARMv80,ARMv81,ARMv8-ThunderX,ARMv8-TX2,A64FX # IBM: BGQ,Power7,Power8,Power9 -# AMD-GPUS: Vega906,Vega908,Vega90A,Navi1030 +# AMD-GPUS: GFX906,GFX908,GFX90A,GFX942,GFX1030,GFX1100 # AMD-CPUS: AMDAVX,Zen,Zen2,Zen3 # Intel-GPUs: Gen9,Gen11,Gen12LP,DG1,XeHP,PVC KOKKOS_ARCH ?= "" @@ -40,7 +40,7 @@ KOKKOS_TRIBITS ?= "no" KOKKOS_STANDALONE_CMAKE ?= "no" # Default settings specific options. -# Options: force_uvm,use_ldg,rdc,enable_lambda,enable_constexpr +# Options: force_uvm,use_ldg,rdc,enable_lambda,enable_constexpr,disable_malloc_async KOKKOS_CUDA_OPTIONS ?= "enable_lambda" # Options: rdc @@ -92,6 +92,7 @@ KOKKOS_INTERNAL_CUDA_USE_UVM := $(call kokkos_has_string,$(KOKKOS_CUDA_OPTIONS), 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_CUDA_DISABLE_MALLOC_ASYNC := $(call kokkos_has_string,$(KOKKOS_CUDA_OPTIONS),disable_malloc_async) KOKKOS_INTERNAL_HPX_ENABLE_ASYNC_DISPATCH := $(call kokkos_has_string,$(KOKKOS_HPX_OPTIONS),enable_async_dispatch) # deprecated KOKKOS_INTERNAL_ENABLE_DESUL_ATOMICS := $(call kokkos_has_string,$(KOKKOS_OPTIONS),enable_desul_atomics) @@ -412,10 +413,11 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ZEN3), 0) KOKKOS_INTERNAL_USE_ARCH_ZEN := $(call kokkos_has_string,$(KOKKOS_ARCH),Zen) endif endif -KOKKOS_INTERNAL_USE_ARCH_VEGA906 := $(call kokkos_has_string,$(KOKKOS_ARCH),Vega906) -KOKKOS_INTERNAL_USE_ARCH_VEGA908 := $(call kokkos_has_string,$(KOKKOS_ARCH),Vega908) -KOKKOS_INTERNAL_USE_ARCH_VEGA90A := $(call kokkos_has_string,$(KOKKOS_ARCH),Vega90A) -KOKKOS_INTERNAL_USE_ARCH_NAVI1030 := $(call kokkos_has_string,$(KOKKOS_ARCH),Navi1030) +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX906 := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA906),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX906)) +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX908 := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA908),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX908)) +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX90A := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA90A),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX90A)) +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1030 := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),NAVI1030),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX1030)) +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1100 := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),NAVI1100),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX1100)) # Any AVX? KOKKOS_INTERNAL_USE_ARCH_SSE42 := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_WSM)) @@ -698,6 +700,12 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_IMPL_CUDA_CLANG_WORKAROUND") endif + + ifeq ($(KOKKOS_INTERNAL_CUDA_DISABLE_MALLOC_ASYNC), 0) + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_IMPL_CUDA_MALLOC_ASYNC") + else + tmp := $(call kokkos_append_header,"/* $H""undef KOKKOS_ENABLE_IMPL_CUDA_MALLOC_ASYNC */") + endif endif ifeq ($(KOKKOS_INTERNAL_USE_HPX), 1) @@ -710,6 +718,7 @@ endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV80), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_ARMV80") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_ARM_NEON") ifeq ($(KOKKOS_INTERNAL_COMPILER_CRAY), 1) KOKKOS_CXXFLAGS += @@ -722,6 +731,7 @@ endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV81), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_ARMV81") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_ARM_NEON") ifeq ($(KOKKOS_INTERNAL_COMPILER_CRAY), 1) KOKKOS_CXXFLAGS += @@ -734,6 +744,7 @@ endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_A64FX), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_A64FX") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_ARM_NEON") KOKKOS_CXXFLAGS += -march=armv8.2-a+sve KOKKOS_LDFLAGS += -march=armv8.2-a+sve @@ -749,7 +760,7 @@ endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ZEN), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_ZEN") - tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_AVX2") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AVX2") ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1) KOKKOS_CXXFLAGS += -mavx2 @@ -762,7 +773,7 @@ endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ZEN2), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_ZEN2") - tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_AVX2") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AVX2") ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1) KOKKOS_CXXFLAGS += -mavx2 @@ -775,7 +786,7 @@ endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ZEN3), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_ZEN3") - tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_AVX2") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AVX2") ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1) KOKKOS_CXXFLAGS += -mavx2 @@ -789,6 +800,7 @@ endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_ARMV80") tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_ARMV8_THUNDERX") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_ARM_NEON") ifeq ($(KOKKOS_INTERNAL_COMPILER_CRAY), 1) KOKKOS_CXXFLAGS += @@ -802,6 +814,7 @@ endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX2), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_ARMV81") tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_ARMV8_THUNDERX2") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_ARM_NEON") ifeq ($(KOKKOS_INTERNAL_COMPILER_CRAY), 1) KOKKOS_CXXFLAGS += @@ -1085,29 +1098,34 @@ endif # Figure out the architecture flag for ROCm. -ifeq ($(KOKKOS_INTERNAL_USE_ARCH_VEGA906), 1) - tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_VEGA906") - tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_VEGA") +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX906), 1) + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GFX906") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GPU") KOKKOS_INTERNAL_HIP_ARCH_FLAG := --offload-arch=gfx906 endif -ifeq ($(KOKKOS_INTERNAL_USE_ARCH_VEGA908), 1) - tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_VEGA908") - tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_VEGA") +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX908), 1) + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GFX908") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GPU") KOKKOS_INTERNAL_HIP_ARCH_FLAG := --offload-arch=gfx908 endif -ifeq ($(KOKKOS_INTERNAL_USE_ARCH_VEGA90A), 1) - tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_VEGA90A") - tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_VEGA") +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX90A), 1) + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GFX90A") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GPU") KOKKOS_INTERNAL_HIP_ARCH_FLAG := --offload-arch=gfx90a endif -ifeq ($(KOKKOS_INTERNAL_USE_ARCH_NAVI1030), 1) - tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_NAVI1030") - tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_NAVI") +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX942), 1) + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GFX942") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GPU") + KOKKOS_INTERNAL_HIP_ARCH_FLAG := --offload-arch=gfx942 +endif +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1030), 1) + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GFX1030") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GPU") KOKKOS_INTERNAL_HIP_ARCH_FLAG := --offload-arch=gfx1030 endif -ifeq ($(KOKKOS_INTERNAL_USE_ARCH_NAVI1100), 1) - tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_NAVI1100") - tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_NAVI") +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1100), 1) + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GFX1100") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GPU") KOKKOS_INTERNAL_HIP_ARCH_FLAG := --offload-arch=gfx1100 endif diff --git a/lib/kokkos/Makefile.targets b/lib/kokkos/Makefile.targets index 4e08a46c69..ec8770dd7d 100644 --- a/lib/kokkos/Makefile.targets +++ b/lib/kokkos/Makefile.targets @@ -36,6 +36,8 @@ Kokkos_HostSpace_deepcopy.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/ $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_HostSpace_deepcopy.cpp Kokkos_NumericTraits.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_NumericTraits.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_NumericTraits.cpp +Kokkos_Abort.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_Abort.cpp + $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_Abort.cpp ifeq ($(KOKKOS_INTERNAL_USE_SERIAL), 1) Kokkos_Serial.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Serial/Kokkos_Serial.cpp diff --git a/lib/kokkos/algorithms/CMakeLists.txt b/lib/kokkos/algorithms/CMakeLists.txt index ab557ab66a..368984647e 100644 --- a/lib/kokkos/algorithms/CMakeLists.txt +++ b/lib/kokkos/algorithms/CMakeLists.txt @@ -2,6 +2,6 @@ IF (NOT Kokkos_INSTALL_TESTING) ADD_SUBDIRECTORY(src) ENDIF() # FIXME_OPENACC: temporarily disabled due to unimplemented features -IF(NOT ((KOKKOS_ENABLE_OPENMPTARGET OR KOKKOS_ENABLE_OPENACC) AND KOKKOS_CXX_COMPILER_ID STREQUAL NVHPC)) +IF(NOT ((KOKKOS_ENABLE_OPENMPTARGET AND KOKKOS_CXX_COMPILER_ID STREQUAL NVHPC) OR KOKKOS_ENABLE_OPENACC)) KOKKOS_ADD_TEST_DIRECTORIES(unit_tests) ENDIF() diff --git a/lib/kokkos/algorithms/src/Kokkos_NestedSort.hpp b/lib/kokkos/algorithms/src/Kokkos_NestedSort.hpp index 4c8be792d8..18e0674efe 100644 --- a/lib/kokkos/algorithms/src/Kokkos_NestedSort.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_NestedSort.hpp @@ -14,175 +14,17 @@ // //@HEADER -#ifndef KOKKOS_NESTEDSORT_HPP_ -#define KOKKOS_NESTEDSORT_HPP_ - -#include -#include -#include - -namespace Kokkos { -namespace Experimental { -namespace Impl { - -// true for TeamVectorRange, false for ThreadVectorRange -template -struct NestedRange {}; - -// Specialization for team-level -template <> -struct NestedRange { - template - KOKKOS_FUNCTION static auto create(const TeamMember& t, SizeType len) { - return Kokkos::TeamVectorRange(t, len); - } - template - KOKKOS_FUNCTION static void barrier(const TeamMember& t) { - t.team_barrier(); - } -}; - -// Specialization for thread-level -template <> -struct NestedRange { - template - KOKKOS_FUNCTION static auto create(const TeamMember& t, SizeType len) { - return Kokkos::ThreadVectorRange(t, len); - } - // Barrier is no-op, as vector lanes of a thread are implicitly synchronized - // after parallel region - template - KOKKOS_FUNCTION static void barrier(const TeamMember&) {} -}; - -// When just doing sort (not sort_by_key), use nullptr_t for ValueViewType. -// This only takes the NestedRange instance for template arg deduction. -template -KOKKOS_INLINE_FUNCTION void sort_nested_impl( - const TeamMember& t, const KeyViewType& keyView, - [[maybe_unused]] const ValueViewType& valueView, const Comparator& comp, - const NestedRange) { - using SizeType = typename KeyViewType::size_type; - using KeyType = typename KeyViewType::non_const_value_type; - using Range = NestedRange; - SizeType n = keyView.extent(0); - SizeType npot = 1; - SizeType levels = 0; - // FIXME: ceiling power-of-two is a common thing to need - make it a utility - while (npot < n) { - levels++; - npot <<= 1; - } - for (SizeType i = 0; i < levels; i++) { - for (SizeType j = 0; j <= i; j++) { - // n/2 pairs of items are compared in parallel - Kokkos::parallel_for(Range::create(t, npot / 2), [=](const SizeType k) { - // How big are the brown/pink boxes? - // (Terminology comes from Wikipedia diagram) - // https://commons.wikimedia.org/wiki/File:BitonicSort.svg#/media/File:BitonicSort.svg - SizeType boxSize = SizeType(2) << (i - j); - // Which box contains this thread? - SizeType boxID = k >> (i - j); // k * 2 / boxSize; - SizeType boxStart = boxID << (1 + i - j); // boxID * boxSize - SizeType boxOffset = k - (boxStart >> 1); // k - boxID * boxSize / 2; - SizeType elem1 = boxStart + boxOffset; - // In first phase (j == 0, brown box): within a box, compare with the - // opposite value in the box. - // In later phases (j > 0, pink box): within a box, compare with fixed - // distance (boxSize / 2) apart. - SizeType elem2 = (j == 0) ? (boxStart + boxSize - 1 - boxOffset) - : (elem1 + boxSize / 2); - if (elem2 < n) { - KeyType key1 = keyView(elem1); - KeyType key2 = keyView(elem2); - if (comp(key2, key1)) { - keyView(elem1) = key2; - keyView(elem2) = key1; - if constexpr (!std::is_same_v) { - Kokkos::Experimental::swap(valueView(elem1), valueView(elem2)); - } - } - } - }); - Range::barrier(t); - } - } -} - -} // namespace Impl - -template -KOKKOS_INLINE_FUNCTION void sort_team(const TeamMember& t, - const ViewType& view) { - Impl::sort_nested_impl(t, view, nullptr, - Experimental::Impl::StdAlgoLessThanBinaryPredicate< - typename ViewType::non_const_value_type>(), - Impl::NestedRange()); -} - -template -KOKKOS_INLINE_FUNCTION void sort_team(const TeamMember& t, const ViewType& view, - const Comparator& comp) { - Impl::sort_nested_impl(t, view, nullptr, comp, Impl::NestedRange()); -} - -template -KOKKOS_INLINE_FUNCTION void sort_by_key_team(const TeamMember& t, - const KeyViewType& keyView, - const ValueViewType& valueView) { - Impl::sort_nested_impl(t, keyView, valueView, - Experimental::Impl::StdAlgoLessThanBinaryPredicate< - typename KeyViewType::non_const_value_type>(), - Impl::NestedRange()); -} - -template -KOKKOS_INLINE_FUNCTION void sort_by_key_team(const TeamMember& t, - const KeyViewType& keyView, - const ValueViewType& valueView, - const Comparator& comp) { - Impl::sort_nested_impl(t, keyView, valueView, comp, - Impl::NestedRange()); -} - -template -KOKKOS_INLINE_FUNCTION void sort_thread(const TeamMember& t, - const ViewType& view) { - Impl::sort_nested_impl(t, view, nullptr, - Experimental::Impl::StdAlgoLessThanBinaryPredicate< - typename ViewType::non_const_value_type>(), - Impl::NestedRange()); -} - -template -KOKKOS_INLINE_FUNCTION void sort_thread(const TeamMember& t, - const ViewType& view, - const Comparator& comp) { - Impl::sort_nested_impl(t, view, nullptr, comp, Impl::NestedRange()); -} - -template -KOKKOS_INLINE_FUNCTION void sort_by_key_thread(const TeamMember& t, - const KeyViewType& keyView, - const ValueViewType& valueView) { - Impl::sort_nested_impl(t, keyView, valueView, - Experimental::Impl::StdAlgoLessThanBinaryPredicate< - typename KeyViewType::non_const_value_type>(), - Impl::NestedRange()); -} - -template -KOKKOS_INLINE_FUNCTION void sort_by_key_thread(const TeamMember& t, - const KeyViewType& keyView, - const ValueViewType& valueView, - const Comparator& comp) { - Impl::sort_nested_impl(t, keyView, valueView, comp, - Impl::NestedRange()); -} - -} // namespace Experimental -} // namespace Kokkos +#ifndef KOKKOS_NESTED_SORT_HPP_ +#define KOKKOS_NESTED_SORT_HPP_ +#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE +#define KOKKOS_IMPL_PUBLIC_INCLUDE +#define KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_NESTED_SORT +#endif + +#include "sorting/Kokkos_NestedSortPublicAPI.hpp" + +#ifdef KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_NESTED_SORT +#undef KOKKOS_IMPL_PUBLIC_INCLUDE +#undef KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_NESTED_SORT +#endif #endif diff --git a/lib/kokkos/algorithms/src/Kokkos_Random.hpp b/lib/kokkos/algorithms/src/Kokkos_Random.hpp index abb028d28e..2d7d236d2f 100644 --- a/lib/kokkos/algorithms/src/Kokkos_Random.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_Random.hpp @@ -956,6 +956,8 @@ class Random_XorShift64_Pool { KOKKOS_INLINE_FUNCTION void free_state(const Random_XorShift64& state) const { state_(state.state_idx_, 0) = state.state_; + // Release the lock only after the state has been updated in memory + Kokkos::memory_fence(); locks_(state.state_idx_, 0) = 0; } }; @@ -1208,7 +1210,9 @@ class Random_XorShift1024_Pool { 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_, 0) = state.p_; + p_(state.state_idx_, 0) = state.p_; + // Release the lock only after the state has been updated in memory + Kokkos::memory_fence(); locks_(state.state_idx_, 0) = 0; } }; diff --git a/lib/kokkos/algorithms/src/Kokkos_Sort.hpp b/lib/kokkos/algorithms/src/Kokkos_Sort.hpp index 10f9ad6462..f77484cc55 100644 --- a/lib/kokkos/algorithms/src/Kokkos_Sort.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_Sort.hpp @@ -21,762 +21,9 @@ #define KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_SORT #endif -#include -#include -#include -#include - -#if defined(KOKKOS_ENABLE_CUDA) - -// Workaround for `Instruction 'shfl' without '.sync' is not supported on -// .target sm_70 and higher from PTX ISA version 6.4`. -// Also see https://github.com/NVIDIA/cub/pull/170. -#if !defined(CUB_USE_COOPERATIVE_GROUPS) -#define CUB_USE_COOPERATIVE_GROUPS -#endif - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wshadow" - -#if defined(KOKKOS_COMPILER_CLANG) -// Some versions of Clang fail to compile Thrust, failing with errors like -// this: -// /thrust/system/cuda/detail/core/agent_launcher.h:557:11: -// error: use of undeclared identifier 'va_printf' -// The exact combination of versions for Clang and Thrust (or CUDA) for this -// failure was not investigated, however even very recent version combination -// (Clang 10.0.0 and Cuda 10.0) demonstrated failure. -// -// Defining _CubLog here locally allows us to avoid that code path, however -// disabling some debugging diagnostics -#pragma push_macro("_CubLog") -#ifdef _CubLog -#undef _CubLog -#endif -#define _CubLog -#include -#include -#pragma pop_macro("_CubLog") -#else -#include -#include -#endif - -#pragma GCC diagnostic pop - -#endif - -#if defined(KOKKOS_ENABLE_ONEDPL) -#include -#include -#endif - -namespace Kokkos { - -namespace Impl { - -template -struct CopyOp; - -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 -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 < 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 BinSort { - public: - template - struct copy_functor { - using src_view_type = typename SrcViewType::const_type; - - using copy_op = Impl::CopyOp; - - 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_) {} - - KOKKOS_INLINE_FUNCTION - void operator()(const int& i) const { - copy_op::copy(dst_values, i + dst_offset, src_values, i); - } - }; - - template - struct copy_permute_functor { - // If a Kokkos::View then can generate constant random access - // otherwise can only use the constant type. - - using src_view_type = std::conditional_t< - Kokkos::is_view::value, - Kokkos::View -#endif - >, - typename SrcViewType::const_type>; - - using perm_view_type = typename PermuteViewType::const_type; - - using copy_op = Impl::CopyOp; - - 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)); - } - }; - - // Naming this alias "execution_space" would be problematic since it would be - // considered as execution space for the various functors which might use - // another execution space through sort() or create_permute_vector(). - using exec_space = typename Space::execution_space; - using bin_op_type = BinSortOp; - - struct bin_count_tag {}; - struct bin_offset_tag {}; - struct bin_binning_tag {}; - struct bin_sort_bins_tag {}; - - public: - using size_type = SizeType; - using value_type = size_type; - - using offset_type = Kokkos::View; - using bin_count_type = Kokkos::View; - - using const_key_view_type = typename KeyViewType::const_type; - - // If a Kokkos::View then can generate constant random access - // otherwise can only use the constant type. - - using const_rnd_key_view_type = std::conditional_t< - Kokkos::is_view::value, - Kokkos::View >, - const_key_view_type>; - - using non_const_key_scalar = typename KeyViewType::non_const_value_type; - using const_key_scalar = typename KeyViewType::const_value_type; - - using bin_count_atomic_type = - Kokkos::View >; - - 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; - - int range_begin; - int range_end; - bool sort_within_bins; - - public: -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 - KOKKOS_DEPRECATED BinSort() = default; -#else - BinSort() = delete; -#endif - - //---------------------------------------- - // Constructor: takes the keys, the binning_operator and optionally whether to - // sort within bins (default false) - template - BinSort(const ExecutionSpace& exec, 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_) { - static_assert( - Kokkos::SpaceAccessibility::accessible, - "The provided execution space must be able to access the memory space " - "BinSort was initialized with!"); - if (bin_op.max_bins() <= 0) - Kokkos::abort( - "The number of bins in the BinSortOp object must be greater than 0!"); - bin_count_atomic = Kokkos::View( - "Kokkos::SortImpl::BinSortFunctor::bin_count", bin_op.max_bins()); - bin_count_const = bin_count_atomic; - bin_offsets = - offset_type(view_alloc(exec, WithoutInitializing, - "Kokkos::SortImpl::BinSortFunctor::bin_offsets"), - bin_op.max_bins()); - sort_order = - offset_type(view_alloc(exec, WithoutInitializing, - "Kokkos::SortImpl::BinSortFunctor::sort_order"), - range_end - range_begin); - } - - BinSort(const_key_view_type keys_, int range_begin_, int range_end_, - BinSortOp bin_op_, bool sort_within_bins_ = false) - : BinSort(exec_space{}, keys_, range_begin_, range_end_, bin_op_, - sort_within_bins_) {} - - template - BinSort(const ExecutionSpace& exec, const_key_view_type keys_, - BinSortOp bin_op_, bool sort_within_bins_ = false) - : BinSort(exec, 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(exec_space{}, keys_, 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 - template - void create_permute_vector(const ExecutionSpace& exec) { - static_assert( - Kokkos::SpaceAccessibility::accessible, - "The provided execution space must be able to access the memory space " - "BinSort was initialized with!"); - - const size_t len = range_end - range_begin; - Kokkos::parallel_for( - "Kokkos::Sort::BinCount", - Kokkos::RangePolicy(exec, 0, len), - *this); - Kokkos::parallel_scan("Kokkos::Sort::BinOffset", - Kokkos::RangePolicy( - exec, 0, bin_op.max_bins()), - *this); - - Kokkos::deep_copy(exec, bin_count_atomic, 0); - Kokkos::parallel_for( - "Kokkos::Sort::BinBinning", - Kokkos::RangePolicy(exec, 0, len), - *this); - - if (sort_within_bins) - Kokkos::parallel_for( - "Kokkos::Sort::BinSort", - Kokkos::RangePolicy( - exec, 0, bin_op.max_bins()), - *this); - } - - // Create the permutation vector, the bin_offset array and the bin_count - // array. Can be called again if keys changed - void create_permute_vector() { - Kokkos::fence("Kokkos::Binsort::create_permute_vector: before"); - exec_space e{}; - create_permute_vector(e); - e.fence("Kokkos::Binsort::create_permute_vector: after"); - } - - // Sort a subset of a view with respect to the first dimension using the - // permutation array - template - void sort(const ExecutionSpace& exec, ValuesViewType const& values, - int values_range_begin, int values_range_end) const { - if (values.extent(0) == 0) { - return; - } - - static_assert( - Kokkos::SpaceAccessibility::accessible, - "The provided execution space must be able to access the memory space " - "BinSort was initialized with!"); - static_assert( - Kokkos::SpaceAccessibility< - ExecutionSpace, typename ValuesViewType::memory_space>::accessible, - "The provided execution space must be able to access the memory space " - "of the View argument!"); - - 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"); - } - - using scratch_view_type = - Kokkos::View; - scratch_view_type sorted_values( - view_alloc(exec, WithoutInitializing, - "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); - - { - copy_permute_functor - functor(sorted_values, sort_order, values, - values_range_begin - range_begin); - - parallel_for("Kokkos::Sort::CopyPermute", - Kokkos::RangePolicy(exec, 0, len), functor); - } - - { - copy_functor functor( - values, range_begin, sorted_values); - - parallel_for("Kokkos::Sort::Copy", - Kokkos::RangePolicy(exec, 0, len), functor); - } - } - - // 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 { - Kokkos::fence("Kokkos::Binsort::sort: before"); - exec_space exec; - sort(exec, values, values_range_begin, values_range_end); - exec.fence("Kokkos::BinSort:sort: after"); - } - - template - void sort(ExecutionSpace const& exec, ValuesViewType const& values) const { - this->sort(exec, 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; } - - // Get the start offsets for each bin - KOKKOS_INLINE_FUNCTION - 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: - KOKKOS_INLINE_FUNCTION - 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) { - bin_offsets(i) = offset; - } - 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); - const int count = bin_count_atomic(bin)++; - - sort_order(bin_offsets(bin) + count) = j; - } - - KOKKOS_INLINE_FUNCTION - void operator()(const bin_sort_bins_tag& /*tag*/, const int i) const { - auto bin_size = bin_count_const(i); - if (bin_size <= 1) return; - constexpr bool use_std_sort = - std::is_same_v; - int lower_bound = bin_offsets(i); - int upper_bound = lower_bound + bin_size; - // Switching to std::sort for more than 10 elements has been found - // reasonable experimentally. - if (use_std_sort && bin_size > 10) { - if constexpr (use_std_sort) { - std::sort(&sort_order(lower_bound), &sort_order(upper_bound), - [this](int p, int q) { return bin_op(keys_rnd, p, q); }); - } - } else { - for (int k = lower_bound + 1; k < upper_bound; ++k) { - int old_idx = sort_order(k); - int j = k - 1; - while (j >= lower_bound) { - int new_idx = sort_order(j); - if (!bin_op(keys_rnd, old_idx, new_idx)) break; - sort_order(j + 1) = new_idx; - --j; - } - sort_order(j + 1) = old_idx; - } - } - } -}; - -//---------------------------------------------------------------------------- - -template -struct BinOp1D { - int max_bins_ = {}; - double mul_ = {}; - double min_ = {}; - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 - KOKKOS_DEPRECATED BinOp1D() = default; -#else - BinOp1D() = delete; -#endif - - // Construct BinOp with number of bins, minimum value and maximum value - BinOp1D(int max_bins__, typename KeyViewType::const_value_type min, - typename KeyViewType::const_value_type max) - : max_bins_(max_bins__ + 1), - // Cast to double to avoid possible overflow when using integer - mul_(static_cast(max_bins__) / - (static_cast(max) - static_cast(min))), - min_(static_cast(min)) { - // For integral types the number of bins may be larger than the range - // in which case we can exactly have one unique value per bin - // and then don't need to sort bins. - if (std::is_integral::value && - (static_cast(max) - static_cast(min)) <= - static_cast(max_bins__)) { - mul_ = 1.; - } - } - - // Determine bin index from key value - template - KOKKOS_INLINE_FUNCTION int bin(ViewType& keys, const int& i) const { - return static_cast(mul_ * (static_cast(keys(i)) - min_)); - } - - // Return maximum bin index + 1 - KOKKOS_INLINE_FUNCTION - 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) < keys(i2); - } -}; - -template -struct BinOp3D { - int max_bins_[3] = {}; - double mul_[3] = {}; - double min_[3] = {}; - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 - KOKKOS_DEPRECATED BinOp3D() = default; -#else - BinOp3D() = delete; -#endif - - BinOp3D(int max_bins__[], typename KeyViewType::const_value_type min[], - 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] = static_cast(max_bins__[0]) / - (static_cast(max[0]) - static_cast(min[0])); - mul_[1] = static_cast(max_bins__[1]) / - (static_cast(max[1]) - static_cast(min[1])); - mul_[2] = static_cast(max_bins__[2]) / - (static_cast(max[2]) - static_cast(min[2])); - min_[0] = static_cast(min[0]); - min_[1] = static_cast(min[1]); - min_[2] = static_cast(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 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; - } -}; - -namespace Impl { - -template -struct min_max_functor { - using minmax_scalar = - Kokkos::MinMaxScalar; - - ViewType 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); - } -}; - -} // namespace Impl - -template -std::enable_if_t<(Kokkos::is_execution_space::value) && - (!SpaceAccessibility< - HostSpace, typename Kokkos::View:: - memory_space>::accessible)> -sort(const ExecutionSpace& exec, - const Kokkos::View& view) { - if (view.extent(0) == 0) { - return; - } - - using ViewType = Kokkos::View; - using CompType = BinOp1D; - - Kokkos::MinMaxScalar result; - Kokkos::MinMax reducer(result); - parallel_reduce("Kokkos::Sort::FindExtent", - Kokkos::RangePolicy( - exec, 0, view.extent(0)), - Impl::min_max_functor(view), reducer); - if (result.min_val == result.max_val) return; - // For integral types the number of bins may be larger than the range - // in which case we can exactly have one unique value per bin - // and then don't need to sort bins. - bool sort_in_bins = true; - // TODO: figure out better max_bins then this ... - int64_t max_bins = view.extent(0) / 2; - if (std::is_integral::value) { - // Cast to double to avoid possible overflow when using integer - auto const max_val = static_cast(result.max_val); - auto const min_val = static_cast(result.min_val); - // using 10M as the cutoff for special behavior (roughly 40MB for the count - // array) - if ((max_val - min_val) < 10000000) { - max_bins = max_val - min_val + 1; - sort_in_bins = false; - } - } - if (std::is_floating_point::value) { - KOKKOS_ASSERT(std::isfinite(static_cast(result.max_val) - - static_cast(result.min_val))); - } - - BinSort bin_sort( - view, CompType(max_bins, result.min_val, result.max_val), sort_in_bins); - bin_sort.create_permute_vector(exec); - bin_sort.sort(exec, view); -} - -#if defined(KOKKOS_ENABLE_ONEDPL) -template -void sort(const Experimental::SYCL& space, - const Kokkos::View& view) { - if (view.extent(0) == 0) { - return; - } - - using ViewType = Kokkos::View; - static_assert(SpaceAccessibility::accessible, - "SYCL execution space is not able to access the memory space " - "of the View argument!"); - - auto queue = space.sycl_queue(); - auto policy = oneapi::dpl::execution::make_device_policy(queue); - - // Can't use Experimental::begin/end here since the oneDPL then assumes that - // the data is on the host. - static_assert( - ViewType::rank == 1 && - (std::is_same::value || - std::is_same::value), - "SYCL sort only supports contiguous 1D Views."); - const int n = view.extent(0); - oneapi::dpl::sort(policy, view.data(), view.data() + n); -} -#endif - -template -std::enable_if_t<(Kokkos::is_execution_space::value) && - (SpaceAccessibility< - HostSpace, typename Kokkos::View:: - memory_space>::accessible)> -sort(const ExecutionSpace&, const Kokkos::View& view) { - if (view.extent(0) == 0) { - return; - } - auto first = Experimental::begin(view); - auto last = Experimental::end(view); - std::sort(first, last); -} - -#if defined(KOKKOS_ENABLE_CUDA) -template -void sort(const Cuda& space, - const Kokkos::View& view) { - if (view.extent(0) == 0) { - return; - } - const auto exec = thrust::cuda::par.on(space.cuda_stream()); - auto first = Experimental::begin(view); - auto last = Experimental::end(view); - thrust::sort(exec, first, last); -} -#endif - -template -void sort(ViewType const& view) { - Kokkos::fence("Kokkos::sort: before"); - - if (view.extent(0) == 0) { - return; - } - - typename ViewType::execution_space exec; - sort(exec, view); - exec.fence("Kokkos::sort: fence after sorting"); -} - -template -std::enable_if_t::value> sort( - const ExecutionSpace& exec, ViewType view, size_t const begin, - size_t const end) { - if (view.extent(0) == 0) { - return; - } - - using range_policy = Kokkos::RangePolicy; - using CompType = BinOp1D; - - Kokkos::MinMaxScalar result; - Kokkos::MinMax reducer(result); - - parallel_reduce("Kokkos::Sort::FindExtent", range_policy(exec, begin, end), - Impl::min_max_functor(view), reducer); - - if (result.min_val == result.max_val) return; - - BinSort bin_sort( - exec, view, begin, end, - CompType((end - begin) / 2, result.min_val, result.max_val), true); - - bin_sort.create_permute_vector(exec); - bin_sort.sort(exec, view, begin, end); -} - -template -void sort(ViewType view, size_t const begin, size_t const end) { - Kokkos::fence("Kokkos::sort: before"); - - if (view.extent(0) == 0) { - return; - } - - typename ViewType::execution_space exec; - sort(exec, view, begin, end); - exec.fence("Kokkos::Sort: fence after sorting"); -} - -} // namespace Kokkos +#include "sorting/Kokkos_BinSortPublicAPI.hpp" +#include "sorting/Kokkos_SortPublicAPI.hpp" +#include "sorting/Kokkos_NestedSortPublicAPI.hpp" #ifdef KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_SORT #undef KOKKOS_IMPL_PUBLIC_INCLUDE diff --git a/lib/kokkos/algorithms/src/sorting/Kokkos_BinOpsPublicAPI.hpp b/lib/kokkos/algorithms/src/sorting/Kokkos_BinOpsPublicAPI.hpp new file mode 100644 index 0000000000..73e751f572 --- /dev/null +++ b/lib/kokkos/algorithms/src/sorting/Kokkos_BinOpsPublicAPI.hpp @@ -0,0 +1,129 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) 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. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_BIN_OPS_PUBLIC_API_HPP_ +#define KOKKOS_BIN_OPS_PUBLIC_API_HPP_ + +#include +#include + +namespace Kokkos { + +template +struct BinOp1D { + int max_bins_ = {}; + double mul_ = {}; + double min_ = {}; + +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED BinOp1D() = default; +#else + BinOp1D() = delete; +#endif + + // Construct BinOp with number of bins, minimum value and maximum value + BinOp1D(int max_bins__, typename KeyViewType::const_value_type min, + typename KeyViewType::const_value_type max) + : max_bins_(max_bins__ + 1), + // Cast to double to avoid possible overflow when using integer + mul_(static_cast(max_bins__) / + (static_cast(max) - static_cast(min))), + min_(static_cast(min)) { + // For integral types the number of bins may be larger than the range + // in which case we can exactly have one unique value per bin + // and then don't need to sort bins. + if (std::is_integral::value && + (static_cast(max) - static_cast(min)) <= + static_cast(max_bins__)) { + mul_ = 1.; + } + } + + // Determine bin index from key value + template + KOKKOS_INLINE_FUNCTION int bin(ViewType& keys, const int& i) const { + return static_cast(mul_ * (static_cast(keys(i)) - min_)); + } + + // Return maximum bin index + 1 + KOKKOS_INLINE_FUNCTION + 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) < keys(i2); + } +}; + +template +struct BinOp3D { + int max_bins_[3] = {}; + double mul_[3] = {}; + double min_[3] = {}; + +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED BinOp3D() = default; +#else + BinOp3D() = delete; +#endif + + BinOp3D(int max_bins__[], typename KeyViewType::const_value_type min[], + 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] = static_cast(max_bins__[0]) / + (static_cast(max[0]) - static_cast(min[0])); + mul_[1] = static_cast(max_bins__[1]) / + (static_cast(max[1]) - static_cast(min[1])); + mul_[2] = static_cast(max_bins__[2]) / + (static_cast(max[2]) - static_cast(min[2])); + min_[0] = static_cast(min[0]); + min_[1] = static_cast(min[1]); + min_[2] = static_cast(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 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; + } +}; + +} // namespace Kokkos +#endif diff --git a/lib/kokkos/algorithms/src/sorting/Kokkos_BinSortPublicAPI.hpp b/lib/kokkos/algorithms/src/sorting/Kokkos_BinSortPublicAPI.hpp new file mode 100644 index 0000000000..c399279fe4 --- /dev/null +++ b/lib/kokkos/algorithms/src/sorting/Kokkos_BinSortPublicAPI.hpp @@ -0,0 +1,410 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) 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. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_BIN_SORT_PUBLIC_API_HPP_ +#define KOKKOS_BIN_SORT_PUBLIC_API_HPP_ + +#include "Kokkos_BinOpsPublicAPI.hpp" +#include "impl/Kokkos_CopyOpsForBinSortImpl.hpp" +#include +#include + +namespace Kokkos { + +template +class BinSort { + public: + template + struct copy_functor { + using src_view_type = typename SrcViewType::const_type; + + using copy_op = Impl::CopyOp; + + 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_) {} + + KOKKOS_INLINE_FUNCTION + void operator()(const int& i) const { + copy_op::copy(dst_values, i + dst_offset, src_values, i); + } + }; + + template + struct copy_permute_functor { + // If a Kokkos::View then can generate constant random access + // otherwise can only use the constant type. + + using src_view_type = std::conditional_t< + Kokkos::is_view::value, + Kokkos::View= 230700) + , + Kokkos::MemoryTraits +#endif + >, + typename SrcViewType::const_type>; + + using perm_view_type = typename PermuteViewType::const_type; + + using copy_op = Impl::CopyOp; + + 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)); + } + }; + + // Naming this alias "execution_space" would be problematic since it would be + // considered as execution space for the various functors which might use + // another execution space through sort() or create_permute_vector(). + using exec_space = typename Space::execution_space; + using bin_op_type = BinSortOp; + + struct bin_count_tag {}; + struct bin_offset_tag {}; + struct bin_binning_tag {}; + struct bin_sort_bins_tag {}; + + public: + using size_type = SizeType; + using value_type = size_type; + + using offset_type = Kokkos::View; + using bin_count_type = Kokkos::View; + + using const_key_view_type = typename KeyViewType::const_type; + + // If a Kokkos::View then can generate constant random access + // otherwise can only use the constant type. + + using const_rnd_key_view_type = std::conditional_t< + Kokkos::is_view::value, + Kokkos::View >, + const_key_view_type>; + + using non_const_key_scalar = typename KeyViewType::non_const_value_type; + using const_key_scalar = typename KeyViewType::const_value_type; + + using bin_count_atomic_type = + Kokkos::View >; + + 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; + + int range_begin; + int range_end; + bool sort_within_bins; + + public: +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED BinSort() = default; +#else + BinSort() = delete; +#endif + + //---------------------------------------- + // Constructor: takes the keys, the binning_operator and optionally whether to + // sort within bins (default false) + template + BinSort(const ExecutionSpace& exec, 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_) { + static_assert( + Kokkos::SpaceAccessibility::accessible, + "The provided execution space must be able to access the memory space " + "BinSort was initialized with!"); + if (bin_op.max_bins() <= 0) + Kokkos::abort( + "The number of bins in the BinSortOp object must be greater than 0!"); + bin_count_atomic = Kokkos::View( + "Kokkos::SortImpl::BinSortFunctor::bin_count", bin_op.max_bins()); + bin_count_const = bin_count_atomic; + bin_offsets = + offset_type(view_alloc(exec, WithoutInitializing, + "Kokkos::SortImpl::BinSortFunctor::bin_offsets"), + bin_op.max_bins()); + sort_order = + offset_type(view_alloc(exec, WithoutInitializing, + "Kokkos::SortImpl::BinSortFunctor::sort_order"), + range_end - range_begin); + } + + BinSort(const_key_view_type keys_, int range_begin_, int range_end_, + BinSortOp bin_op_, bool sort_within_bins_ = false) + : BinSort(exec_space{}, keys_, range_begin_, range_end_, bin_op_, + sort_within_bins_) {} + + template + BinSort(const ExecutionSpace& exec, const_key_view_type keys_, + BinSortOp bin_op_, bool sort_within_bins_ = false) + : BinSort(exec, 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(exec_space{}, keys_, 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 + template + void create_permute_vector(const ExecutionSpace& exec) { + static_assert( + Kokkos::SpaceAccessibility::accessible, + "The provided execution space must be able to access the memory space " + "BinSort was initialized with!"); + + const size_t len = range_end - range_begin; + Kokkos::parallel_for( + "Kokkos::Sort::BinCount", + Kokkos::RangePolicy(exec, 0, len), + *this); + Kokkos::parallel_scan("Kokkos::Sort::BinOffset", + Kokkos::RangePolicy( + exec, 0, bin_op.max_bins()), + *this); + + Kokkos::deep_copy(exec, bin_count_atomic, 0); + Kokkos::parallel_for( + "Kokkos::Sort::BinBinning", + Kokkos::RangePolicy(exec, 0, len), + *this); + + if (sort_within_bins) + Kokkos::parallel_for( + "Kokkos::Sort::BinSort", + Kokkos::RangePolicy( + exec, 0, bin_op.max_bins()), + *this); + } + + // Create the permutation vector, the bin_offset array and the bin_count + // array. Can be called again if keys changed + void create_permute_vector() { + Kokkos::fence("Kokkos::Binsort::create_permute_vector: before"); + exec_space e{}; + create_permute_vector(e); + e.fence("Kokkos::Binsort::create_permute_vector: after"); + } + + // Sort a subset of a view with respect to the first dimension using the + // permutation array + template + void sort(const ExecutionSpace& exec, ValuesViewType const& values, + int values_range_begin, int values_range_end) const { + if (values.extent(0) == 0) { + return; + } + + static_assert( + Kokkos::SpaceAccessibility::accessible, + "The provided execution space must be able to access the memory space " + "BinSort was initialized with!"); + static_assert( + Kokkos::SpaceAccessibility< + ExecutionSpace, typename ValuesViewType::memory_space>::accessible, + "The provided execution space must be able to access the memory space " + "of the View argument!"); + + 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"); + } + + using scratch_view_type = + Kokkos::View; + scratch_view_type sorted_values( + view_alloc(exec, WithoutInitializing, + "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); + + { + copy_permute_functor + functor(sorted_values, sort_order, values, + values_range_begin - range_begin); + + parallel_for("Kokkos::Sort::CopyPermute", + Kokkos::RangePolicy(exec, 0, len), functor); + } + + { + copy_functor functor( + values, range_begin, sorted_values); + + parallel_for("Kokkos::Sort::Copy", + Kokkos::RangePolicy(exec, 0, len), functor); + } + } + + // 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 { + Kokkos::fence("Kokkos::Binsort::sort: before"); + exec_space exec; + sort(exec, values, values_range_begin, values_range_end); + exec.fence("Kokkos::BinSort:sort: after"); + } + + template + void sort(ExecutionSpace const& exec, ValuesViewType const& values) const { + this->sort(exec, 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; } + + // Get the start offsets for each bin + KOKKOS_INLINE_FUNCTION + 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: + KOKKOS_INLINE_FUNCTION + 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) { + bin_offsets(i) = offset; + } + 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); + const int count = bin_count_atomic(bin)++; + + sort_order(bin_offsets(bin) + count) = j; + } + + KOKKOS_INLINE_FUNCTION + void operator()(const bin_sort_bins_tag& /*tag*/, const int i) const { + auto bin_size = bin_count_const(i); + if (bin_size <= 1) return; + constexpr bool use_std_sort = + std::is_same_v; + int lower_bound = bin_offsets(i); + int upper_bound = lower_bound + bin_size; + // Switching to std::sort for more than 10 elements has been found + // reasonable experimentally. + if (use_std_sort && bin_size > 10) { + KOKKOS_IF_ON_HOST( + (std::sort(&sort_order(lower_bound), &sort_order(upper_bound), + [this](int p, int q) { return bin_op(keys_rnd, p, q); });)) + } else { + for (int k = lower_bound + 1; k < upper_bound; ++k) { + int old_idx = sort_order(k); + int j = k - 1; + while (j >= lower_bound) { + int new_idx = sort_order(j); + if (!bin_op(keys_rnd, old_idx, new_idx)) break; + sort_order(j + 1) = new_idx; + --j; + } + sort_order(j + 1) = old_idx; + } + } + } +}; + +} // namespace Kokkos +#endif diff --git a/lib/kokkos/algorithms/src/sorting/Kokkos_NestedSortPublicAPI.hpp b/lib/kokkos/algorithms/src/sorting/Kokkos_NestedSortPublicAPI.hpp new file mode 100644 index 0000000000..dd468e0734 --- /dev/null +++ b/lib/kokkos/algorithms/src/sorting/Kokkos_NestedSortPublicAPI.hpp @@ -0,0 +1,100 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) 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. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_NESTED_SORT_PUBLIC_API_HPP_ +#define KOKKOS_NESTED_SORT_PUBLIC_API_HPP_ + +#include "impl/Kokkos_NestedSortImpl.hpp" +#include +#include + +namespace Kokkos { +namespace Experimental { + +template +KOKKOS_INLINE_FUNCTION void sort_team(const TeamMember& t, + const ViewType& view) { + Impl::sort_nested_impl(t, view, nullptr, + Experimental::Impl::StdAlgoLessThanBinaryPredicate< + typename ViewType::non_const_value_type>(), + Impl::NestedRange()); +} + +template +KOKKOS_INLINE_FUNCTION void sort_team(const TeamMember& t, const ViewType& view, + const Comparator& comp) { + Impl::sort_nested_impl(t, view, nullptr, comp, Impl::NestedRange()); +} + +template +KOKKOS_INLINE_FUNCTION void sort_by_key_team(const TeamMember& t, + const KeyViewType& keyView, + const ValueViewType& valueView) { + Impl::sort_nested_impl(t, keyView, valueView, + Experimental::Impl::StdAlgoLessThanBinaryPredicate< + typename KeyViewType::non_const_value_type>(), + Impl::NestedRange()); +} + +template +KOKKOS_INLINE_FUNCTION void sort_by_key_team(const TeamMember& t, + const KeyViewType& keyView, + const ValueViewType& valueView, + const Comparator& comp) { + Impl::sort_nested_impl(t, keyView, valueView, comp, + Impl::NestedRange()); +} + +template +KOKKOS_INLINE_FUNCTION void sort_thread(const TeamMember& t, + const ViewType& view) { + Impl::sort_nested_impl(t, view, nullptr, + Experimental::Impl::StdAlgoLessThanBinaryPredicate< + typename ViewType::non_const_value_type>(), + Impl::NestedRange()); +} + +template +KOKKOS_INLINE_FUNCTION void sort_thread(const TeamMember& t, + const ViewType& view, + const Comparator& comp) { + Impl::sort_nested_impl(t, view, nullptr, comp, Impl::NestedRange()); +} + +template +KOKKOS_INLINE_FUNCTION void sort_by_key_thread(const TeamMember& t, + const KeyViewType& keyView, + const ValueViewType& valueView) { + Impl::sort_nested_impl(t, keyView, valueView, + Experimental::Impl::StdAlgoLessThanBinaryPredicate< + typename KeyViewType::non_const_value_type>(), + Impl::NestedRange()); +} + +template +KOKKOS_INLINE_FUNCTION void sort_by_key_thread(const TeamMember& t, + const KeyViewType& keyView, + const ValueViewType& valueView, + const Comparator& comp) { + Impl::sort_nested_impl(t, keyView, valueView, comp, + Impl::NestedRange()); +} + +} // namespace Experimental +} // namespace Kokkos +#endif diff --git a/lib/kokkos/algorithms/src/sorting/Kokkos_SortPublicAPI.hpp b/lib/kokkos/algorithms/src/sorting/Kokkos_SortPublicAPI.hpp new file mode 100644 index 0000000000..a763c41e58 --- /dev/null +++ b/lib/kokkos/algorithms/src/sorting/Kokkos_SortPublicAPI.hpp @@ -0,0 +1,194 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) 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. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_SORT_PUBLIC_API_HPP_ +#define KOKKOS_SORT_PUBLIC_API_HPP_ + +#include "./impl/Kokkos_SortImpl.hpp" +#include +#include +#include + +namespace Kokkos { + +// --------------------------------------------------------------- +// basic overloads +// --------------------------------------------------------------- + +template +void sort([[maybe_unused]] const ExecutionSpace& exec, + const Kokkos::View& view) { + // constraints + using ViewType = Kokkos::View; + using MemSpace = typename ViewType::memory_space; + static_assert( + ViewType::rank == 1 && + (std::is_same_v || + std::is_same_v || + std::is_same_v), + "Kokkos::sort without comparator: supports 1D Views with LayoutRight, " + "LayoutLeft or LayoutStride."); + + static_assert(SpaceAccessibility::accessible, + "Kokkos::sort: execution space instance is not able to access " + "the memory space of the " + "View argument!"); + + if (view.extent(0) <= 1) { + return; + } + + if constexpr (Impl::better_off_calling_std_sort_v) { + auto first = ::Kokkos::Experimental::begin(view); + auto last = ::Kokkos::Experimental::end(view); + std::sort(first, last); + } else { + Impl::sort_device_view_without_comparator(exec, view); + } +} + +template +void sort(const Kokkos::View& view) { + using ViewType = Kokkos::View; + static_assert(ViewType::rank == 1, + "Kokkos::sort: currently only supports rank-1 Views."); + + Kokkos::fence("Kokkos::sort: before"); + + if (view.extent(0) <= 1) { + return; + } + + typename ViewType::execution_space exec; + sort(exec, view); + exec.fence("Kokkos::sort: fence after sorting"); +} + +// --------------------------------------------------------------- +// overloads supporting a custom comparator +// --------------------------------------------------------------- +template +void sort([[maybe_unused]] const ExecutionSpace& exec, + const Kokkos::View& view, + const ComparatorType& comparator) { + // constraints + using ViewType = Kokkos::View; + using MemSpace = typename ViewType::memory_space; + static_assert( + ViewType::rank == 1 && + (std::is_same_v || + std::is_same_v || + std::is_same_v), + "Kokkos::sort with comparator: supports 1D Views with LayoutRight, " + "LayoutLeft or LayoutStride."); + + static_assert(SpaceAccessibility::accessible, + "Kokkos::sort: execution space instance is not able to access " + "the memory space of the View argument!"); + + if (view.extent(0) <= 1) { + return; + } + + if constexpr (Impl::better_off_calling_std_sort_v) { + auto first = ::Kokkos::Experimental::begin(view); + auto last = ::Kokkos::Experimental::end(view); + std::sort(first, last, comparator); + } else { + Impl::sort_device_view_with_comparator(exec, view, comparator); + } +} + +template +void sort(const Kokkos::View& view, + const ComparatorType& comparator) { + using ViewType = Kokkos::View; + static_assert( + ViewType::rank == 1 && + (std::is_same_v || + std::is_same_v || + std::is_same_v), + "Kokkos::sort with comparator: supports 1D Views with LayoutRight, " + "LayoutLeft or LayoutStride."); + + Kokkos::fence("Kokkos::sort with comparator: before"); + + if (view.extent(0) <= 1) { + return; + } + + typename ViewType::execution_space exec; + sort(exec, view, comparator); + exec.fence("Kokkos::sort with comparator: fence after sorting"); +} + +// --------------------------------------------------------------- +// overloads for sorting a view with a subrange +// specified via integers begin, end +// --------------------------------------------------------------- + +template +std::enable_if_t::value> sort( + const ExecutionSpace& exec, ViewType view, size_t const begin, + size_t const end) { + // view must be rank-1 because the Impl::min_max_functor + // used below only works for rank-1 views for now + static_assert(ViewType::rank == 1, + "Kokkos::sort: currently only supports rank-1 Views."); + + if (view.extent(0) <= 1) { + return; + } + + using range_policy = Kokkos::RangePolicy; + using CompType = BinOp1D; + + Kokkos::MinMaxScalar result; + Kokkos::MinMax reducer(result); + + parallel_reduce("Kokkos::Sort::FindExtent", range_policy(exec, begin, end), + Impl::min_max_functor(view), reducer); + + if (result.min_val == result.max_val) return; + + BinSort bin_sort( + exec, view, begin, end, + CompType((end - begin) / 2, result.min_val, result.max_val), true); + + bin_sort.create_permute_vector(exec); + bin_sort.sort(exec, view, begin, end); +} + +template +void sort(ViewType view, size_t const begin, size_t const end) { + // same constraints as the overload above which this gets dispatched to + static_assert(ViewType::rank == 1, + "Kokkos::sort: currently only supports rank-1 Views."); + + Kokkos::fence("Kokkos::sort: before"); + + if (view.extent(0) <= 1) { + return; + } + + typename ViewType::execution_space exec; + sort(exec, view, begin, end); + exec.fence("Kokkos::Sort: fence after sorting"); +} + +} // namespace Kokkos +#endif diff --git a/lib/kokkos/algorithms/src/sorting/impl/Kokkos_CopyOpsForBinSortImpl.hpp b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_CopyOpsForBinSortImpl.hpp new file mode 100644 index 0000000000..07f5926d82 --- /dev/null +++ b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_CopyOpsForBinSortImpl.hpp @@ -0,0 +1,61 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) 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. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_COPY_OPS_FOR_BINSORT_IMPL_HPP_ +#define KOKKOS_COPY_OPS_FOR_BINSORT_IMPL_HPP_ + +#include +#include + +namespace Kokkos { +namespace Impl { + +template +struct CopyOp; + +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 +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 < 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 +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/algorithms/src/sorting/impl/Kokkos_NestedSortImpl.hpp b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_NestedSortImpl.hpp new file mode 100644 index 0000000000..50ac823319 --- /dev/null +++ b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_NestedSortImpl.hpp @@ -0,0 +1,115 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) 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. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_NESTED_SORT_IMPL_HPP_ +#define KOKKOS_NESTED_SORT_IMPL_HPP_ + +#include +#include + +namespace Kokkos { +namespace Experimental { +namespace Impl { + +// true for TeamVectorRange, false for ThreadVectorRange +template +struct NestedRange {}; + +// Specialization for team-level +template <> +struct NestedRange { + template + KOKKOS_FUNCTION static auto create(const TeamMember& t, SizeType len) { + return Kokkos::TeamVectorRange(t, len); + } + template + KOKKOS_FUNCTION static void barrier(const TeamMember& t) { + t.team_barrier(); + } +}; + +// Specialization for thread-level +template <> +struct NestedRange { + template + KOKKOS_FUNCTION static auto create(const TeamMember& t, SizeType len) { + return Kokkos::ThreadVectorRange(t, len); + } + // Barrier is no-op, as vector lanes of a thread are implicitly synchronized + // after parallel region + template + KOKKOS_FUNCTION static void barrier(const TeamMember&) {} +}; + +// When just doing sort (not sort_by_key), use nullptr_t for ValueViewType. +// This only takes the NestedRange instance for template arg deduction. +template +KOKKOS_INLINE_FUNCTION void sort_nested_impl( + const TeamMember& t, const KeyViewType& keyView, + [[maybe_unused]] const ValueViewType& valueView, const Comparator& comp, + const NestedRange) { + using SizeType = typename KeyViewType::size_type; + using KeyType = typename KeyViewType::non_const_value_type; + using Range = NestedRange; + SizeType n = keyView.extent(0); + SizeType npot = 1; + SizeType levels = 0; + // FIXME: ceiling power-of-two is a common thing to need - make it a utility + while (npot < n) { + levels++; + npot <<= 1; + } + for (SizeType i = 0; i < levels; i++) { + for (SizeType j = 0; j <= i; j++) { + // n/2 pairs of items are compared in parallel + Kokkos::parallel_for(Range::create(t, npot / 2), [=](const SizeType k) { + // How big are the brown/pink boxes? + // (Terminology comes from Wikipedia diagram) + // https://commons.wikimedia.org/wiki/File:BitonicSort.svg#/media/File:BitonicSort.svg + SizeType boxSize = SizeType(2) << (i - j); + // Which box contains this thread? + SizeType boxID = k >> (i - j); // k * 2 / boxSize; + SizeType boxStart = boxID << (1 + i - j); // boxID * boxSize + SizeType boxOffset = k - (boxStart >> 1); // k - boxID * boxSize / 2; + SizeType elem1 = boxStart + boxOffset; + // In first phase (j == 0, brown box): within a box, compare with the + // opposite value in the box. + // In later phases (j > 0, pink box): within a box, compare with fixed + // distance (boxSize / 2) apart. + SizeType elem2 = (j == 0) ? (boxStart + boxSize - 1 - boxOffset) + : (elem1 + boxSize / 2); + if (elem2 < n) { + KeyType key1 = keyView(elem1); + KeyType key2 = keyView(elem2); + if (comp(key2, key1)) { + keyView(elem1) = key2; + keyView(elem2) = key1; + if constexpr (!std::is_same_v) { + Kokkos::Experimental::swap(valueView(elem1), valueView(elem2)); + } + } + } + }); + Range::barrier(t); + } + } +} + +} // namespace Impl +} // namespace Experimental +} // namespace Kokkos +#endif diff --git a/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortImpl.hpp b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortImpl.hpp new file mode 100644 index 0000000000..d87ab09e77 --- /dev/null +++ b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortImpl.hpp @@ -0,0 +1,369 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) 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. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_SORT_FREE_FUNCS_IMPL_HPP_ +#define KOKKOS_SORT_FREE_FUNCS_IMPL_HPP_ + +#include "../Kokkos_BinOpsPublicAPI.hpp" +#include "../Kokkos_BinSortPublicAPI.hpp" +#include +#include +#include + +#if defined(KOKKOS_ENABLE_CUDA) + +// Workaround for `Instruction 'shfl' without '.sync' is not supported on +// .target sm_70 and higher from PTX ISA version 6.4`. +// Also see https://github.com/NVIDIA/cub/pull/170. +#if !defined(CUB_USE_COOPERATIVE_GROUPS) +#define CUB_USE_COOPERATIVE_GROUPS +#endif + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wshadow" + +#if defined(KOKKOS_COMPILER_CLANG) +// Some versions of Clang fail to compile Thrust, failing with errors like +// this: +// /thrust/system/cuda/detail/core/agent_launcher.h:557:11: +// error: use of undeclared identifier 'va_printf' +// The exact combination of versions for Clang and Thrust (or CUDA) for this +// failure was not investigated, however even very recent version combination +// (Clang 10.0.0 and Cuda 10.0) demonstrated failure. +// +// Defining _CubLog here locally allows us to avoid that code path, however +// disabling some debugging diagnostics +#pragma push_macro("_CubLog") +#ifdef _CubLog +#undef _CubLog +#endif +#define _CubLog +#include +#include +#pragma pop_macro("_CubLog") +#else +#include +#include +#endif + +#pragma GCC diagnostic pop + +#endif + +#if defined(KOKKOS_ENABLE_ONEDPL) +#include +#include +#endif + +namespace Kokkos { +namespace Impl { + +template +struct better_off_calling_std_sort : std::false_type {}; + +#if defined KOKKOS_ENABLE_SERIAL +template <> +struct better_off_calling_std_sort : std::true_type {}; +#endif + +#if defined KOKKOS_ENABLE_OPENMP +template <> +struct better_off_calling_std_sort : std::true_type {}; +#endif + +#if defined KOKKOS_ENABLE_THREADS +template <> +struct better_off_calling_std_sort : std::true_type {}; +#endif + +#if defined KOKKOS_ENABLE_HPX +template <> +struct better_off_calling_std_sort : std::true_type { +}; +#endif + +template +inline constexpr bool better_off_calling_std_sort_v = + better_off_calling_std_sort::value; + +template +struct min_max_functor { + using minmax_scalar = + Kokkos::MinMaxScalar; + + ViewType 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); + } +}; + +template +void sort_via_binsort(const ExecutionSpace& exec, + const Kokkos::View& view) { + // Although we are using BinSort below, which could work on rank-2 views, + // for now view must be rank-1 because the min_max_functor + // used below only works for rank-1 views + using ViewType = Kokkos::View; + static_assert(ViewType::rank == 1, + "Kokkos::sort: currently only supports rank-1 Views."); + + if (view.extent(0) <= 1) { + return; + } + + Kokkos::MinMaxScalar result; + Kokkos::MinMax reducer(result); + parallel_reduce("Kokkos::Sort::FindExtent", + Kokkos::RangePolicy( + exec, 0, view.extent(0)), + min_max_functor(view), reducer); + if (result.min_val == result.max_val) return; + // For integral types the number of bins may be larger than the range + // in which case we can exactly have one unique value per bin + // and then don't need to sort bins. + bool sort_in_bins = true; + // TODO: figure out better max_bins then this ... + int64_t max_bins = view.extent(0) / 2; + if (std::is_integral::value) { + // Cast to double to avoid possible overflow when using integer + auto const max_val = static_cast(result.max_val); + auto const min_val = static_cast(result.min_val); + // using 10M as the cutoff for special behavior (roughly 40MB for the count + // array) + if ((max_val - min_val) < 10000000) { + max_bins = max_val - min_val + 1; + sort_in_bins = false; + } + } + if (std::is_floating_point::value) { + KOKKOS_ASSERT(std::isfinite(static_cast(result.max_val) - + static_cast(result.min_val))); + } + + using CompType = BinOp1D; + BinSort bin_sort( + view, CompType(max_bins, result.min_val, result.max_val), sort_in_bins); + bin_sort.create_permute_vector(exec); + bin_sort.sort(exec, view); +} + +#if defined(KOKKOS_ENABLE_CUDA) +template +void sort_cudathrust(const Cuda& space, + const Kokkos::View& view, + MaybeComparator&&... maybeComparator) { + using ViewType = Kokkos::View; + static_assert(ViewType::rank == 1, + "Kokkos::sort: currently only supports rank-1 Views."); + + if (view.extent(0) <= 1) { + return; + } + const auto exec = thrust::cuda::par.on(space.cuda_stream()); + auto first = ::Kokkos::Experimental::begin(view); + auto last = ::Kokkos::Experimental::end(view); + thrust::sort(exec, first, last, + std::forward(maybeComparator)...); +} +#endif + +#if defined(KOKKOS_ENABLE_ONEDPL) +template +void sort_onedpl(const Kokkos::Experimental::SYCL& space, + const Kokkos::View& view, + MaybeComparator&&... maybeComparator) { + using ViewType = Kokkos::View; + static_assert(SpaceAccessibility::accessible, + "SYCL execution space is not able to access the memory space " + "of the View argument!"); + + static_assert( + (ViewType::rank == 1) && + (std::is_same_v || + std::is_same_v || + std::is_same_v), + "SYCL sort only supports contiguous rank-1 Views with LayoutLeft, " + "LayoutRight or LayoutStride" + "For the latter, this means the View must have stride(0) = 1, enforced " + "at runtime."); + + if (view.stride(0) != 1) { + Kokkos::abort("SYCL sort only supports rank-1 Views with stride(0) = 1."); + } + + if (view.extent(0) <= 1) { + return; + } + + // Can't use Experimental::begin/end here since the oneDPL then assumes that + // the data is on the host. + auto queue = space.sycl_queue(); + auto policy = oneapi::dpl::execution::make_device_policy(queue); + const int n = view.extent(0); + oneapi::dpl::sort(policy, view.data(), view.data() + n, + std::forward(maybeComparator)...); +} +#endif + +template +void copy_to_host_run_stdsort_copy_back( + const ExecutionSpace& exec, + const Kokkos::View& view, + MaybeComparator&&... maybeComparator) { + namespace KE = ::Kokkos::Experimental; + + using ViewType = Kokkos::View; + using layout = typename ViewType::array_layout; + if constexpr (std::is_same_v) { + // for strided views we cannot just deep_copy from device to host, + // so we need to do a few more jumps + using view_value_type = typename ViewType::non_const_value_type; + using view_exespace = typename ViewType::execution_space; + using view_deep_copyable_t = Kokkos::View; + view_deep_copyable_t view_dc("view_dc", view.extent(0)); + KE::copy(exec, view, view_dc); + + // run sort on the mirror of view_dc + auto mv_h = create_mirror_view_and_copy(Kokkos::HostSpace(), view_dc); + auto first = KE::begin(mv_h); + auto last = KE::end(mv_h); + std::sort(first, last, std::forward(maybeComparator)...); + Kokkos::deep_copy(exec, view_dc, mv_h); + + // copy back to argument view + KE::copy(exec, KE::cbegin(view_dc), KE::cend(view_dc), KE::begin(view)); + } else { + auto view_h = create_mirror_view_and_copy(Kokkos::HostSpace(), view); + auto first = KE::begin(view_h); + auto last = KE::end(view_h); + std::sort(first, last, std::forward(maybeComparator)...); + Kokkos::deep_copy(exec, view, view_h); + } +} + +// -------------------------------------------------- +// +// specialize cases for sorting without comparator +// +// -------------------------------------------------- + +#if defined(KOKKOS_ENABLE_CUDA) +template +void sort_device_view_without_comparator( + const Cuda& exec, const Kokkos::View& view) { + sort_cudathrust(exec, view); +} +#endif + +#if defined(KOKKOS_ENABLE_ONEDPL) +template +void sort_device_view_without_comparator( + const Kokkos::Experimental::SYCL& exec, + const Kokkos::View& view) { + using ViewType = Kokkos::View; + static_assert( + (ViewType::rank == 1) && + (std::is_same_v || + std::is_same_v || + std::is_same_v), + "sort_device_view_without_comparator: supports rank-1 Views " + "with LayoutLeft, LayoutRight or LayoutStride"); + + if (view.stride(0) == 1) { + sort_onedpl(exec, view); + } else { + copy_to_host_run_stdsort_copy_back(exec, view); + } +} +#endif + +// fallback case +template +std::enable_if_t::value> +sort_device_view_without_comparator( + const ExecutionSpace& exec, + const Kokkos::View& view) { + sort_via_binsort(exec, view); +} + +// -------------------------------------------------- +// +// specialize cases for sorting with comparator +// +// -------------------------------------------------- + +#if defined(KOKKOS_ENABLE_CUDA) +template +void sort_device_view_with_comparator( + const Cuda& exec, const Kokkos::View& view, + const ComparatorType& comparator) { + sort_cudathrust(exec, view, comparator); +} +#endif + +#if defined(KOKKOS_ENABLE_ONEDPL) +template +void sort_device_view_with_comparator( + const Kokkos::Experimental::SYCL& exec, + const Kokkos::View& view, + const ComparatorType& comparator) { + using ViewType = Kokkos::View; + static_assert( + (ViewType::rank == 1) && + (std::is_same_v || + std::is_same_v || + std::is_same_v), + "sort_device_view_with_comparator: supports rank-1 Views " + "with LayoutLeft, LayoutRight or LayoutStride"); + + if (view.stride(0) == 1) { + sort_onedpl(exec, view, comparator); + } else { + copy_to_host_run_stdsort_copy_back(exec, view, comparator); + } +} +#endif + +template +std::enable_if_t::value> +sort_device_view_with_comparator( + const ExecutionSpace& exec, + const Kokkos::View& view, + const ComparatorType& comparator) { + // This is a fallback case if a more specialized overload does not exist: + // for now, this fallback copies data to host, runs std::sort + // and then copies data back. Potentially, this can later be changed + // with a better solution like our own quicksort on device or similar. + + using ViewType = Kokkos::View; + using MemSpace = typename ViewType::memory_space; + static_assert(!SpaceAccessibility::accessible, + "Impl::sort_device_view_with_comparator: should not be called " + "on a view that is already accessible on the host"); + + copy_to_host_run_stdsort_copy_back(exec, view, comparator); +} + +} // namespace Impl +} // namespace Kokkos +#endif diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_AdjacentDifference.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_AdjacentDifference.hpp index 38dcd1a674..f254686dba 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_AdjacentDifference.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_AdjacentDifference.hpp @@ -23,64 +23,85 @@ namespace Kokkos { namespace Experimental { -template -std::enable_if_t::value, - OutputIteratorType> -adjacent_difference(const ExecutionSpace& ex, InputIteratorType first_from, - InputIteratorType last_from, - OutputIteratorType first_dest) { +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename InputIteratorType, + typename OutputIteratorType, + std::enable_if_t::value && + ::Kokkos::is_execution_space::value, + int> = 0> +OutputIteratorType adjacent_difference(const ExecutionSpace& ex, + InputIteratorType first_from, + InputIteratorType last_from, + OutputIteratorType first_dest) { using value_type1 = typename InputIteratorType::value_type; using value_type2 = typename OutputIteratorType::value_type; using binary_op = Impl::StdAdjacentDifferenceDefaultBinaryOpFunctor; - return Impl::adjacent_difference_impl( + return Impl::adjacent_difference_exespace_impl( "Kokkos::adjacent_difference_iterator_api", ex, first_from, last_from, first_dest, binary_op()); } -template -std::enable_if_t::value, - OutputIteratorType> -adjacent_difference(const ExecutionSpace& ex, InputIteratorType first_from, - InputIteratorType last_from, OutputIteratorType first_dest, - BinaryOp bin_op) { - return Impl::adjacent_difference_impl( +template < + typename ExecutionSpace, typename InputIteratorType, + typename OutputIteratorType, typename BinaryOp, + std::enable_if_t::value && + ::Kokkos::is_execution_space::value, + int> = 0> +OutputIteratorType adjacent_difference(const ExecutionSpace& ex, + InputIteratorType first_from, + InputIteratorType last_from, + OutputIteratorType first_dest, + BinaryOp bin_op) { + return Impl::adjacent_difference_exespace_impl( "Kokkos::adjacent_difference_iterator_api", ex, first_from, last_from, first_dest, bin_op); } -template -std::enable_if_t::value, - OutputIteratorType> -adjacent_difference(const std::string& label, const ExecutionSpace& ex, - InputIteratorType first_from, InputIteratorType last_from, - OutputIteratorType first_dest) { +template < + typename ExecutionSpace, typename InputIteratorType, + typename OutputIteratorType, + std::enable_if_t::value && + ::Kokkos::is_execution_space::value, + int> = 0> +OutputIteratorType adjacent_difference(const std::string& label, + const ExecutionSpace& ex, + InputIteratorType first_from, + InputIteratorType last_from, + OutputIteratorType first_dest) { using value_type1 = typename InputIteratorType::value_type; using value_type2 = typename OutputIteratorType::value_type; using binary_op = Impl::StdAdjacentDifferenceDefaultBinaryOpFunctor; - return Impl::adjacent_difference_impl(label, ex, first_from, last_from, - first_dest, binary_op()); + return Impl::adjacent_difference_exespace_impl( + label, ex, first_from, last_from, first_dest, binary_op()); } -template -std::enable_if_t::value, - OutputIteratorType> -adjacent_difference(const std::string& label, const ExecutionSpace& ex, - InputIteratorType first_from, InputIteratorType last_from, - OutputIteratorType first_dest, BinaryOp bin_op) { - return Impl::adjacent_difference_impl(label, ex, first_from, last_from, - first_dest, bin_op); +template < + typename ExecutionSpace, typename InputIteratorType, + typename OutputIteratorType, typename BinaryOp, + std::enable_if_t::value && + ::Kokkos::is_execution_space::value, + int> = 0> +OutputIteratorType adjacent_difference(const std::string& label, + const ExecutionSpace& ex, + InputIteratorType first_from, + InputIteratorType last_from, + OutputIteratorType first_dest, + BinaryOp bin_op) { + return Impl::adjacent_difference_exespace_impl(label, ex, first_from, + last_from, first_dest, bin_op); } -template +template ::value, + int> = 0> auto adjacent_difference( const ExecutionSpace& ex, const ::Kokkos::View& view_from, @@ -96,13 +117,15 @@ auto adjacent_difference( using binary_op = Impl::StdAdjacentDifferenceDefaultBinaryOpFunctor; - return Impl::adjacent_difference_impl( + return Impl::adjacent_difference_exespace_impl( "Kokkos::adjacent_difference_view_api", ex, KE::cbegin(view_from), KE::cend(view_from), KE::begin(view_dest), binary_op()); } -template +template ::value, + int> = 0> auto adjacent_difference( const ExecutionSpace& ex, const ::Kokkos::View& view_from, @@ -111,13 +134,15 @@ auto adjacent_difference( namespace KE = ::Kokkos::Experimental; Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); - return Impl::adjacent_difference_impl( + return Impl::adjacent_difference_exespace_impl( "Kokkos::adjacent_difference_view_api", ex, KE::cbegin(view_from), KE::cend(view_from), KE::begin(view_dest), bin_op); } -template +template ::value, + int> = 0> auto adjacent_difference( const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view_from, @@ -134,13 +159,15 @@ auto adjacent_difference( Impl::StdAdjacentDifferenceDefaultBinaryOpFunctor; - return Impl::adjacent_difference_impl(label, ex, KE::cbegin(view_from), - KE::cend(view_from), - KE::begin(view_dest), binary_op()); + return Impl::adjacent_difference_exespace_impl( + label, ex, KE::cbegin(view_from), KE::cend(view_from), + KE::begin(view_dest), binary_op()); } -template +template ::value, + int> = 0> auto adjacent_difference( const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view_from, @@ -149,9 +176,85 @@ auto adjacent_difference( namespace KE = ::Kokkos::Experimental; Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); - return Impl::adjacent_difference_impl(label, ex, KE::cbegin(view_from), - KE::cend(view_from), - KE::begin(view_dest), bin_op); + return Impl::adjacent_difference_exespace_impl( + label, ex, KE::cbegin(view_from), KE::cend(view_from), + KE::begin(view_dest), bin_op); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template ::value && + ::Kokkos::is_team_handle::value, + int> = 0> +KOKKOS_FUNCTION OutputIteratorType adjacent_difference( + const TeamHandleType& teamHandle, InputIteratorType first_from, + InputIteratorType last_from, OutputIteratorType first_dest) { + using value_type1 = typename InputIteratorType::value_type; + using value_type2 = typename OutputIteratorType::value_type; + using binary_op = + Impl::StdAdjacentDifferenceDefaultBinaryOpFunctor; + return Impl::adjacent_difference_team_impl(teamHandle, first_from, last_from, + first_dest, binary_op()); +} + +template ::value && + ::Kokkos::is_team_handle::value, + int> = 0> +KOKKOS_FUNCTION OutputIteratorType +adjacent_difference(const TeamHandleType& teamHandle, + InputIteratorType first_from, InputIteratorType last_from, + OutputIteratorType first_dest, BinaryOp bin_op) { + return Impl::adjacent_difference_team_impl(teamHandle, first_from, last_from, + first_dest, bin_op); +} + +template < + typename TeamHandleType, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_team_handle::value, int> = 0> +KOKKOS_FUNCTION auto adjacent_difference( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view_from, + const ::Kokkos::View& view_dest) { + namespace KE = ::Kokkos::Experimental; + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); + + using view_type1 = ::Kokkos::View; + using view_type2 = ::Kokkos::View; + using value_type1 = typename view_type1::value_type; + using value_type2 = typename view_type2::value_type; + using binary_op = + Impl::StdAdjacentDifferenceDefaultBinaryOpFunctor; + return Impl::adjacent_difference_team_impl(teamHandle, KE::cbegin(view_from), + KE::cend(view_from), + KE::begin(view_dest), binary_op()); +} + +template < + typename TeamHandleType, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename BinaryOp, + std::enable_if_t<::Kokkos::is_team_handle::value, int> = 0> +KOKKOS_FUNCTION auto adjacent_difference( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view_from, + const ::Kokkos::View& view_dest, + BinaryOp bin_op) { + namespace KE = ::Kokkos::Experimental; + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); + return Impl::adjacent_difference_team_impl(teamHandle, KE::cbegin(view_from), + KE::cend(view_from), + KE::begin(view_dest), bin_op); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_AdjacentFind.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_AdjacentFind.hpp index 43c2b66010..ac476ca5bf 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_AdjacentFind.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_AdjacentFind.hpp @@ -23,71 +23,144 @@ namespace Kokkos { namespace Experimental { +// +// overload set accepting execution space +// + // overload set1 -template +template < + typename ExecutionSpace, typename IteratorType, + std::enable_if_t, int> = 0> IteratorType adjacent_find(const ExecutionSpace& ex, IteratorType first, IteratorType last) { - return Impl::adjacent_find_impl("Kokkos::adjacent_find_iterator_api_default", - ex, first, last); + return Impl::adjacent_find_exespace_impl( + "Kokkos::adjacent_find_iterator_api_default", ex, first, last); } -template +template < + typename ExecutionSpace, typename IteratorType, + std::enable_if_t, int> = 0> IteratorType adjacent_find(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last) { - return Impl::adjacent_find_impl(label, ex, first, last); + return Impl::adjacent_find_exespace_impl(label, ex, first, last); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + std::enable_if_t, int> = 0> auto adjacent_find(const ExecutionSpace& ex, const ::Kokkos::View& v) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::adjacent_find_impl("Kokkos::adjacent_find_view_api_default", ex, - KE::begin(v), KE::end(v)); + return Impl::adjacent_find_exespace_impl( + "Kokkos::adjacent_find_view_api_default", ex, KE::begin(v), KE::end(v)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + std::enable_if_t, int> = 0> auto adjacent_find(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& v) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::adjacent_find_impl(label, ex, KE::begin(v), KE::end(v)); + return Impl::adjacent_find_exespace_impl(label, ex, KE::begin(v), KE::end(v)); } // overload set2 -template +template < + typename ExecutionSpace, typename IteratorType, + typename BinaryPredicateType, + std::enable_if_t, int> = 0> IteratorType adjacent_find(const ExecutionSpace& ex, IteratorType first, IteratorType last, BinaryPredicateType pred) { - return Impl::adjacent_find_impl("Kokkos::adjacent_find_iterator_api_default", - ex, first, last, pred); + return Impl::adjacent_find_exespace_impl( + "Kokkos::adjacent_find_iterator_api_default", ex, first, last, pred); } -template +template < + typename ExecutionSpace, typename IteratorType, + typename BinaryPredicateType, + std::enable_if_t, int> = 0> IteratorType adjacent_find(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, BinaryPredicateType pred) { - return Impl::adjacent_find_impl(label, ex, first, last, pred); + return Impl::adjacent_find_exespace_impl(label, ex, first, last, pred); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename BinaryPredicateType, + std::enable_if_t, int> = 0> auto adjacent_find(const ExecutionSpace& ex, const ::Kokkos::View& v, BinaryPredicateType pred) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::adjacent_find_impl("Kokkos::adjacent_find_view_api_default", ex, - KE::begin(v), KE::end(v), pred); + return Impl::adjacent_find_exespace_impl( + "Kokkos::adjacent_find_view_api_default", ex, KE::begin(v), KE::end(v), + pred); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename BinaryPredicateType, + std::enable_if_t, int> = 0> auto adjacent_find(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& v, BinaryPredicateType pred) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::adjacent_find_impl(label, ex, KE::begin(v), KE::end(v), pred); + return Impl::adjacent_find_exespace_impl(label, ex, KE::begin(v), KE::end(v), + pred); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// + +// overload set1 +template , int> = 0> +KOKKOS_FUNCTION IteratorType adjacent_find(const TeamHandleType& teamHandle, + IteratorType first, + IteratorType last) { + return Impl::adjacent_find_team_impl(teamHandle, first, last); +} + +template , int> = 0> +KOKKOS_FUNCTION auto adjacent_find( + const TeamHandleType& teamHandle, + const ::Kokkos::View& v) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); + namespace KE = ::Kokkos::Experimental; + return Impl::adjacent_find_team_impl(teamHandle, KE::begin(v), KE::end(v)); +} + +// overload set2 +template , int> = 0> +KOKKOS_FUNCTION IteratorType adjacent_find(const TeamHandleType& teamHandle, + IteratorType first, + IteratorType last, + BinaryPredicateType pred) { + return Impl::adjacent_find_team_impl(teamHandle, first, last, pred); +} + +template , int> = 0> +KOKKOS_FUNCTION auto adjacent_find( + const TeamHandleType& teamHandle, + const ::Kokkos::View& v, + BinaryPredicateType pred) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); + namespace KE = ::Kokkos::Experimental; + return Impl::adjacent_find_team_impl(teamHandle, KE::begin(v), KE::end(v), + pred); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_AllOf.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_AllOf.hpp index 2ffec7e144..d6ed4c4a7e 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_AllOf.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_AllOf.hpp @@ -23,41 +23,79 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename InputIterator, typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool all_of(const ExecutionSpace& ex, InputIterator first, InputIterator last, Predicate predicate) { - return Impl::all_of_impl("Kokkos::all_of_iterator_api_default", ex, first, - last, predicate); + return Impl::all_of_exespace_impl("Kokkos::all_of_iterator_api_default", ex, + first, last, predicate); } -template +template < + typename ExecutionSpace, typename InputIterator, typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool all_of(const std::string& label, const ExecutionSpace& ex, InputIterator first, InputIterator last, Predicate predicate) { - return Impl::all_of_impl(label, ex, first, last, predicate); + return Impl::all_of_exespace_impl(label, ex, first, last, predicate); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool all_of(const ExecutionSpace& ex, const ::Kokkos::View& v, Predicate predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::all_of_impl("Kokkos::all_of_view_api_default", ex, KE::cbegin(v), - KE::cend(v), std::move(predicate)); + return Impl::all_of_exespace_impl("Kokkos::all_of_view_api_default", ex, + KE::cbegin(v), KE::cend(v), + std::move(predicate)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool all_of(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& v, Predicate predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::all_of_impl(label, ex, KE::cbegin(v), KE::cend(v), - std::move(predicate)); + return Impl::all_of_exespace_impl(label, ex, KE::cbegin(v), KE::cend(v), + std::move(predicate)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION bool all_of(const TeamHandleType& teamHandle, + InputIterator first, InputIterator last, + Predicate predicate) { + return Impl::all_of_team_impl(teamHandle, first, last, predicate); +} + +template , int> = 0> +KOKKOS_FUNCTION bool all_of(const TeamHandleType& teamHandle, + const ::Kokkos::View& v, + Predicate predicate) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); + + namespace KE = ::Kokkos::Experimental; + return Impl::all_of_team_impl(teamHandle, KE::cbegin(v), KE::cend(v), + std::move(predicate)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_AnyOf.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_AnyOf.hpp index 019c466c6d..82356e6598 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_AnyOf.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_AnyOf.hpp @@ -23,41 +23,79 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename InputIterator, typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool any_of(const ExecutionSpace& ex, InputIterator first, InputIterator last, Predicate predicate) { - return Impl::any_of_impl("Kokkos::any_of_view_api_default", ex, first, last, - predicate); + return Impl::any_of_exespace_impl("Kokkos::any_of_view_api_default", ex, + first, last, predicate); } -template +template < + typename ExecutionSpace, typename InputIterator, typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool any_of(const std::string& label, const ExecutionSpace& ex, InputIterator first, InputIterator last, Predicate predicate) { - return Impl::any_of_impl(label, ex, first, last, predicate); + return Impl::any_of_exespace_impl(label, ex, first, last, predicate); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool any_of(const ExecutionSpace& ex, const ::Kokkos::View& v, Predicate predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::any_of_impl("Kokkos::any_of_view_api_default", ex, KE::cbegin(v), - KE::cend(v), std::move(predicate)); + return Impl::any_of_exespace_impl("Kokkos::any_of_view_api_default", ex, + KE::cbegin(v), KE::cend(v), + std::move(predicate)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool any_of(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& v, Predicate predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::any_of_impl(label, ex, KE::cbegin(v), KE::cend(v), - std::move(predicate)); + return Impl::any_of_exespace_impl(label, ex, KE::cbegin(v), KE::cend(v), + std::move(predicate)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION bool any_of(const TeamHandleType& teamHandle, + InputIterator first, InputIterator last, + Predicate predicate) { + return Impl::any_of_team_impl(teamHandle, first, last, predicate); +} + +template , int> = 0> +KOKKOS_FUNCTION bool any_of(const TeamHandleType& teamHandle, + const ::Kokkos::View& v, + Predicate predicate) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); + + namespace KE = ::Kokkos::Experimental; + return Impl::any_of_team_impl(teamHandle, KE::cbegin(v), KE::cend(v), + std::move(predicate)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Copy.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Copy.hpp index 028f3b66b2..b7ce1ba5ed 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Copy.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Copy.hpp @@ -23,22 +23,31 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator copy(const ExecutionSpace& ex, InputIterator first, InputIterator last, OutputIterator d_first) { - return Impl::copy_impl("Kokkos::copy_iterator_api_default", ex, first, last, - d_first); + return Impl::copy_exespace_impl("Kokkos::copy_iterator_api_default", ex, + first, last, d_first); } -template +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator copy(const std::string& label, const ExecutionSpace& ex, InputIterator first, InputIterator last, OutputIterator d_first) { - return Impl::copy_impl(label, ex, first, last, d_first); + return Impl::copy_exespace_impl(label, ex, first, last, d_first); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy(const ExecutionSpace& ex, const ::Kokkos::View& source, ::Kokkos::View& dest) { @@ -46,12 +55,15 @@ auto copy(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); namespace KE = ::Kokkos::Experimental; - return Impl::copy_impl("Kokkos::copy_view_api_default", ex, - KE::cbegin(source), KE::cend(source), KE::begin(dest)); + return Impl::copy_exespace_impl("Kokkos::copy_view_api_default", ex, + KE::cbegin(source), KE::cend(source), + KE::begin(dest)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, ::Kokkos::View& dest) { @@ -59,8 +71,35 @@ auto copy(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); namespace KE = ::Kokkos::Experimental; - return Impl::copy_impl(label, ex, KE::cbegin(source), KE::cend(source), - KE::begin(dest)); + return Impl::copy_exespace_impl(label, ex, KE::cbegin(source), + KE::cend(source), KE::begin(dest)); +} + +// +// overload set accepting team handle +// +template , int> = 0> +KOKKOS_FUNCTION OutputIterator copy(const TeamHandleType& teamHandle, + InputIterator first, InputIterator last, + OutputIterator d_first) { + return Impl::copy_team_impl(teamHandle, first, last, d_first); +} + +template , int> = 0> +KOKKOS_FUNCTION auto copy( + const TeamHandleType& teamHandle, + const ::Kokkos::View& source, + ::Kokkos::View& dest) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); + + namespace KE = ::Kokkos::Experimental; + return Impl::copy_team_impl(teamHandle, KE::cbegin(source), KE::cend(source), + KE::begin(dest)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyBackward.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyBackward.hpp index deff6baf9a..8f9e0f19b8 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyBackward.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyBackward.hpp @@ -23,42 +23,81 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename IteratorType1, typename IteratorType2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType2 copy_backward(const ExecutionSpace& ex, IteratorType1 first, IteratorType1 last, IteratorType2 d_last) { - return Impl::copy_backward_impl("Kokkos::copy_backward_iterator_api_default", - ex, first, last, d_last); + return Impl::copy_backward_exespace_impl( + "Kokkos::copy_backward_iterator_api_default", ex, first, last, d_last); } -template +template < + typename ExecutionSpace, typename IteratorType1, typename IteratorType2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType2 copy_backward(const std::string& label, const ExecutionSpace& ex, IteratorType1 first, IteratorType1 last, IteratorType2 d_last) { - return Impl::copy_backward_impl(label, ex, first, last, d_last); + return Impl::copy_backward_exespace_impl(label, ex, first, last, d_last); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_backward(const ExecutionSpace& ex, const ::Kokkos::View& source, ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); - return Impl::copy_backward_impl("Kokkos::copy_backward_view_api_default", ex, - cbegin(source), cend(source), end(dest)); + return Impl::copy_backward_exespace_impl( + "Kokkos::copy_backward_view_api_default", ex, cbegin(source), + cend(source), end(dest)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_backward(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); - return Impl::copy_backward_impl(label, ex, cbegin(source), cend(source), - end(dest)); + return Impl::copy_backward_exespace_impl(label, ex, cbegin(source), + cend(source), end(dest)); +} + +// +// overload set accepting team handle +// +template , int> = 0> +KOKKOS_FUNCTION IteratorType2 copy_backward(const TeamHandleType& teamHandle, + IteratorType1 first, + IteratorType1 last, + IteratorType2 d_last) { + return Impl::copy_backward_team_impl(teamHandle, first, last, d_last); +} + +template , int> = 0> +KOKKOS_FUNCTION auto copy_backward( + const TeamHandleType& teamHandle, + const ::Kokkos::View& source, + ::Kokkos::View& dest) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); + + return Impl::copy_backward_team_impl(teamHandle, cbegin(source), cend(source), + end(dest)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyIf.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyIf.hpp index 3db2fc074f..ba18bc76b9 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyIf.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyIf.hpp @@ -23,46 +23,85 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator copy_if(const ExecutionSpace& ex, InputIterator first, InputIterator last, OutputIterator d_first, Predicate pred) { - return Impl::copy_if_impl("Kokkos::copy_if_iterator_api_default", ex, first, - last, d_first, std::move(pred)); + return Impl::copy_if_exespace_impl("Kokkos::copy_if_iterator_api_default", ex, + first, last, d_first, std::move(pred)); } -template +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator copy_if(const std::string& label, const ExecutionSpace& ex, InputIterator first, InputIterator last, OutputIterator d_first, Predicate pred) { - return Impl::copy_if_impl(label, ex, first, last, d_first, std::move(pred)); + return Impl::copy_if_exespace_impl(label, ex, first, last, d_first, + std::move(pred)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_if(const ExecutionSpace& ex, const ::Kokkos::View& source, ::Kokkos::View& dest, Predicate pred) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); - return Impl::copy_if_impl("Kokkos::copy_if_view_api_default", ex, - cbegin(source), cend(source), begin(dest), - std::move(pred)); + return Impl::copy_if_exespace_impl("Kokkos::copy_if_view_api_default", ex, + cbegin(source), cend(source), begin(dest), + std::move(pred)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_if(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, ::Kokkos::View& dest, Predicate pred) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); - return Impl::copy_if_impl(label, ex, cbegin(source), cend(source), - begin(dest), std::move(pred)); + return Impl::copy_if_exespace_impl(label, ex, cbegin(source), cend(source), + begin(dest), std::move(pred)); +} + +// +// overload set accepting team handle +// +template , int> = 0> +KOKKOS_FUNCTION OutputIterator copy_if(const TeamHandleType& teamHandle, + InputIterator first, InputIterator last, + OutputIterator d_first, Predicate pred) { + return Impl::copy_if_team_impl(teamHandle, first, last, d_first, + std::move(pred)); +} + +template , int> = 0> +KOKKOS_FUNCTION auto copy_if( + const TeamHandleType& teamHandle, + const ::Kokkos::View& source, + ::Kokkos::View& dest, Predicate pred) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); + + return Impl::copy_if_team_impl(teamHandle, cbegin(source), cend(source), + begin(dest), std::move(pred)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyN.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyN.hpp index a64f99b5c0..43c9120483 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyN.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyN.hpp @@ -23,23 +23,32 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename InputIterator, typename Size, + typename OutputIterator, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator copy_n(const ExecutionSpace& ex, InputIterator first, Size count, OutputIterator result) { - return Impl::copy_n_impl("Kokkos::copy_n_iterator_api_default", ex, first, - count, result); + return Impl::copy_n_exespace_impl("Kokkos::copy_n_iterator_api_default", ex, + first, count, result); } -template +template < + typename ExecutionSpace, typename InputIterator, typename Size, + typename OutputIterator, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator copy_n(const std::string& label, const ExecutionSpace& ex, InputIterator first, Size count, OutputIterator result) { - return Impl::copy_n_impl(label, ex, first, count, result); + return Impl::copy_n_exespace_impl(label, ex, first, count, result); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename Size, typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_n(const ExecutionSpace& ex, const ::Kokkos::View& source, Size count, ::Kokkos::View& dest) { @@ -47,12 +56,14 @@ auto copy_n(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); namespace KE = ::Kokkos::Experimental; - return Impl::copy_n_impl("Kokkos::copy_n_view_api_default", ex, - KE::cbegin(source), count, KE::begin(dest)); + return Impl::copy_n_exespace_impl("Kokkos::copy_n_view_api_default", ex, + KE::cbegin(source), count, KE::begin(dest)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename Size, typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_n(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, Size count, ::Kokkos::View& dest) { @@ -60,8 +71,35 @@ auto copy_n(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); namespace KE = ::Kokkos::Experimental; - return Impl::copy_n_impl(label, ex, KE::cbegin(source), count, - KE::begin(dest)); + return Impl::copy_n_exespace_impl(label, ex, KE::cbegin(source), count, + KE::begin(dest)); +} + +// +// overload set accepting team handle +// +template , int> = 0> +KOKKOS_FUNCTION OutputIterator copy_n(const TeamHandleType& teamHandle, + InputIterator first, Size count, + OutputIterator result) { + return Impl::copy_n_team_impl(teamHandle, first, count, result); +} + +template , int> = 0> +KOKKOS_FUNCTION auto copy_n( + const TeamHandleType& teamHandle, + const ::Kokkos::View& source, Size count, + ::Kokkos::View& dest) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); + + namespace KE = ::Kokkos::Experimental; + return Impl::copy_n_team_impl(teamHandle, KE::cbegin(source), count, + KE::begin(dest)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Count.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Count.hpp index 3ac63467ec..f179e88bab 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Count.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Count.hpp @@ -23,41 +23,81 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename IteratorType, typename T, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> typename IteratorType::difference_type count(const ExecutionSpace& ex, IteratorType first, IteratorType last, const T& value) { - return Impl::count_impl("Kokkos::count_iterator_api_default", ex, first, last, - value); + return Impl::count_exespace_impl("Kokkos::count_iterator_api_default", ex, + first, last, value); } -template +template < + typename ExecutionSpace, typename IteratorType, typename T, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> typename IteratorType::difference_type count(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, const T& value) { - return Impl::count_impl(label, ex, first, last, value); + return Impl::count_exespace_impl(label, ex, first, last, value); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename T, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto count(const ExecutionSpace& ex, const ::Kokkos::View& v, const T& value) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::count_impl("Kokkos::count_view_api_default", ex, KE::cbegin(v), - KE::cend(v), value); + return Impl::count_exespace_impl("Kokkos::count_view_api_default", ex, + KE::cbegin(v), KE::cend(v), value); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename T, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto count(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& v, const T& value) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::count_impl(label, ex, KE::cbegin(v), KE::cend(v), value); + return Impl::count_exespace_impl(label, ex, KE::cbegin(v), KE::cend(v), + value); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// + +template , int> = 0> +KOKKOS_FUNCTION typename IteratorType::difference_type count( + const TeamHandleType& teamHandle, IteratorType first, IteratorType last, + const T& value) { + return Impl::count_team_impl(teamHandle, first, last, value); +} + +template , int> = 0> +KOKKOS_FUNCTION auto count(const TeamHandleType& teamHandle, + const ::Kokkos::View& v, + const T& value) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); + + namespace KE = ::Kokkos::Experimental; + return Impl::count_team_impl(teamHandle, KE::cbegin(v), KE::cend(v), value); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CountIf.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CountIf.hpp index b9731d378a..967cf75e7a 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CountIf.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CountIf.hpp @@ -23,46 +23,84 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename IteratorType, typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> typename IteratorType::difference_type count_if(const ExecutionSpace& ex, IteratorType first, IteratorType last, Predicate predicate) { - return Impl::count_if_impl("Kokkos::count_if_iterator_api_default", ex, first, - last, std::move(predicate)); + return Impl::count_if_exespace_impl("Kokkos::count_if_iterator_api_default", + ex, first, last, std::move(predicate)); } -template +template < + typename ExecutionSpace, typename IteratorType, typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> typename IteratorType::difference_type count_if(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, Predicate predicate) { - return Impl::count_if_impl(label, ex, first, last, std::move(predicate)); + return Impl::count_if_exespace_impl(label, ex, first, last, + std::move(predicate)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto count_if(const ExecutionSpace& ex, const ::Kokkos::View& v, Predicate predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::count_if_impl("Kokkos::count_if_view_api_default", ex, - KE::cbegin(v), KE::cend(v), std::move(predicate)); + return Impl::count_if_exespace_impl("Kokkos::count_if_view_api_default", ex, + KE::cbegin(v), KE::cend(v), + std::move(predicate)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto count_if(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& v, Predicate predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::count_if_impl(label, ex, KE::cbegin(v), KE::cend(v), - std::move(predicate)); + return Impl::count_if_exespace_impl(label, ex, KE::cbegin(v), KE::cend(v), + std::move(predicate)); +} + +// +// overload set accepting team handle +// +template , int> = 0> +KOKKOS_FUNCTION typename IteratorType::difference_type count_if( + const TeamHandleType& teamHandle, IteratorType first, IteratorType last, + Predicate predicate) { + return Impl::count_if_team_impl(teamHandle, first, last, + std::move(predicate)); +} + +template , int> = 0> +KOKKOS_FUNCTION auto count_if(const TeamHandleType& teamHandle, + const ::Kokkos::View& v, + Predicate predicate) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); + + namespace KE = ::Kokkos::Experimental; + return Impl::count_if_team_impl(teamHandle, KE::cbegin(v), KE::cend(v), + std::move(predicate)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Equal.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Equal.hpp index 37c0d75ef5..a72a49cc22 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Equal.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Equal.hpp @@ -23,50 +23,61 @@ namespace Kokkos { namespace Experimental { -template -std::enable_if_t< ::Kokkos::Experimental::Impl::are_iterators< - IteratorType1, IteratorType2>::value, - bool> -equal(const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, - IteratorType2 first2) { - return Impl::equal_impl("Kokkos::equal_iterator_api_default", ex, first1, - last1, first2); +// +// overload set accepting execution space +// +template && + Kokkos::is_execution_space_v, + int> = 0> +bool equal(const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2) { + return Impl::equal_exespace_impl("Kokkos::equal_iterator_api_default", ex, + first1, last1, first2); } -template -std::enable_if_t< ::Kokkos::Experimental::Impl::are_iterators< - IteratorType1, IteratorType2>::value, - bool> -equal(const std::string& label, const ExecutionSpace& ex, IteratorType1 first1, - IteratorType1 last1, IteratorType2 first2) { - return Impl::equal_impl(label, ex, first1, last1, first2); +template && ::Kokkos:: + is_execution_space_v, + int> = 0> +bool equal(const std::string& label, const ExecutionSpace& ex, + IteratorType1 first1, IteratorType1 last1, IteratorType2 first2) { + return Impl::equal_exespace_impl(label, ex, first1, last1, first2); } -template -std::enable_if_t< ::Kokkos::Experimental::Impl::are_iterators< - IteratorType1, IteratorType2>::value, - bool> -equal(const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, - IteratorType2 first2, BinaryPredicateType predicate) { - return Impl::equal_impl("Kokkos::equal_iterator_api_default", ex, first1, - last1, first2, std::move(predicate)); +template && ::Kokkos:: + is_execution_space_v, + int> = 0> +bool equal(const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2, BinaryPredicateType predicate) { + return Impl::equal_exespace_impl("Kokkos::equal_iterator_api_default", ex, + first1, last1, first2, std::move(predicate)); } -template -std::enable_if_t< ::Kokkos::Experimental::Impl::are_iterators< - IteratorType1, IteratorType2>::value, - bool> -equal(const std::string& label, const ExecutionSpace& ex, IteratorType1 first1, - IteratorType1 last1, IteratorType2 first2, - BinaryPredicateType predicate) { - return Impl::equal_impl(label, ex, first1, last1, first2, - std::move(predicate)); +template && ::Kokkos:: + is_execution_space_v, + int> = 0> +bool equal(const std::string& label, const ExecutionSpace& ex, + IteratorType1 first1, IteratorType1 last1, IteratorType2 first2, + BinaryPredicateType predicate) { + return Impl::equal_exespace_impl(label, ex, first1, last1, first2, + std::move(predicate)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool equal(const ExecutionSpace& ex, const ::Kokkos::View& view1, ::Kokkos::View& view2) { @@ -74,13 +85,15 @@ bool equal(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); namespace KE = ::Kokkos::Experimental; - return Impl::equal_impl("Kokkos::equal_view_api_default", ex, - KE::cbegin(view1), KE::cend(view1), - KE::cbegin(view2)); + return Impl::equal_exespace_impl("Kokkos::equal_view_api_default", ex, + KE::cbegin(view1), KE::cend(view1), + KE::cbegin(view2)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool equal(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view1, ::Kokkos::View& view2) { @@ -88,12 +101,14 @@ bool equal(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); namespace KE = ::Kokkos::Experimental; - return Impl::equal_impl(label, ex, KE::cbegin(view1), KE::cend(view1), - KE::cbegin(view2)); + return Impl::equal_exespace_impl(label, ex, KE::cbegin(view1), + KE::cend(view1), KE::cbegin(view2)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename BinaryPredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool equal(const ExecutionSpace& ex, const ::Kokkos::View& view1, ::Kokkos::View& view2, @@ -102,13 +117,15 @@ bool equal(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); namespace KE = ::Kokkos::Experimental; - return Impl::equal_impl("Kokkos::equal_view_api_default", ex, - KE::cbegin(view1), KE::cend(view1), KE::cbegin(view2), - std::move(predicate)); + return Impl::equal_exespace_impl("Kokkos::equal_view_api_default", ex, + KE::cbegin(view1), KE::cend(view1), + KE::cbegin(view2), std::move(predicate)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename BinaryPredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool equal(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view1, ::Kokkos::View& view2, @@ -117,51 +134,149 @@ bool equal(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); namespace KE = ::Kokkos::Experimental; - return Impl::equal_impl(label, ex, KE::cbegin(view1), KE::cend(view1), - KE::cbegin(view2), std::move(predicate)); + return Impl::equal_exespace_impl(label, ex, KE::cbegin(view1), + KE::cend(view1), KE::cbegin(view2), + std::move(predicate)); } -template -std::enable_if_t< ::Kokkos::Experimental::Impl::are_iterators< - IteratorType1, IteratorType2>::value, - bool> -equal(const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, - IteratorType2 first2, IteratorType2 last2) { - return Impl::equal_impl("Kokkos::equal_iterator_api_default", ex, first1, - last1, first2, last2); +template && ::Kokkos:: + is_execution_space_v, + int> = 0> +bool equal(const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2, IteratorType2 last2) { + return Impl::equal_exespace_impl("Kokkos::equal_iterator_api_default", ex, + first1, last1, first2, last2); } -template -std::enable_if_t< ::Kokkos::Experimental::Impl::are_iterators< - IteratorType1, IteratorType2>::value, - bool> -equal(const std::string& label, const ExecutionSpace& ex, IteratorType1 first1, - IteratorType1 last1, IteratorType2 first2, IteratorType2 last2) { - return Impl::equal_impl(label, ex, first1, last1, first2, last2); +template && ::Kokkos:: + is_execution_space_v, + int> = 0> +bool equal(const std::string& label, const ExecutionSpace& ex, + IteratorType1 first1, IteratorType1 last1, IteratorType2 first2, + IteratorType2 last2) { + return Impl::equal_exespace_impl(label, ex, first1, last1, first2, last2); } -template -std::enable_if_t< ::Kokkos::Experimental::Impl::are_iterators< - IteratorType1, IteratorType2>::value, - bool> -equal(const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, - IteratorType2 first2, IteratorType2 last2, - BinaryPredicateType predicate) { - return Impl::equal_impl("Kokkos::equal_iterator_api_default", ex, first1, - last1, first2, last2, std::move(predicate)); +template && ::Kokkos:: + is_execution_space_v, + int> = 0> +bool equal(const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2, IteratorType2 last2, + BinaryPredicateType predicate) { + return Impl::equal_exespace_impl("Kokkos::equal_iterator_api_default", ex, + first1, last1, first2, last2, + std::move(predicate)); } -template -std::enable_if_t< ::Kokkos::Experimental::Impl::are_iterators< - IteratorType1, IteratorType2>::value, - bool> -equal(const std::string& label, const ExecutionSpace& ex, IteratorType1 first1, - IteratorType1 last1, IteratorType2 first2, IteratorType2 last2, - BinaryPredicateType predicate) { - return Impl::equal_impl(label, ex, first1, last1, first2, last2, - std::move(predicate)); +template && ::Kokkos:: + is_execution_space_v, + int> = 0> +bool equal(const std::string& label, const ExecutionSpace& ex, + IteratorType1 first1, IteratorType1 last1, IteratorType2 first2, + IteratorType2 last2, BinaryPredicateType predicate) { + return Impl::equal_exespace_impl(label, ex, first1, last1, first2, last2, + std::move(predicate)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template && ::Kokkos:: + is_team_handle_v, + int> = 0> +KOKKOS_FUNCTION bool equal(const TeamHandleType& teamHandle, + IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2) { + return Impl::equal_team_impl(teamHandle, first1, last1, first2); +} + +template && ::Kokkos:: + is_team_handle_v, + int> = 0> +KOKKOS_FUNCTION bool equal(const TeamHandleType& teamHandle, + IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2, + BinaryPredicateType predicate) { + return Impl::equal_team_impl(teamHandle, first1, last1, first2, + std::move(predicate)); +} + +template , int> = 0> +KOKKOS_FUNCTION bool equal( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view1, + ::Kokkos::View& view2) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); + + namespace KE = ::Kokkos::Experimental; + return Impl::equal_team_impl(teamHandle, KE::cbegin(view1), KE::cend(view1), + KE::cbegin(view2)); +} + +template , int> = 0> +KOKKOS_FUNCTION bool equal( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view1, + ::Kokkos::View& view2, + BinaryPredicateType predicate) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); + + namespace KE = ::Kokkos::Experimental; + return Impl::equal_team_impl(teamHandle, KE::cbegin(view1), KE::cend(view1), + KE::cbegin(view2), std::move(predicate)); +} + +template && ::Kokkos:: + is_team_handle_v, + int> = 0> +KOKKOS_FUNCTION bool equal(const TeamHandleType& teamHandle, + IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2, IteratorType2 last2) { + return Impl::equal_team_impl(teamHandle, first1, last1, first2, last2); +} + +template && ::Kokkos:: + is_team_handle_v, + int> = 0> +KOKKOS_FUNCTION bool equal(const TeamHandleType& teamHandle, + IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2, IteratorType2 last2, + BinaryPredicateType predicate) { + return Impl::equal_team_impl(teamHandle, first1, last1, first2, last2, + std::move(predicate)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ExclusiveScan.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ExclusiveScan.hpp index 4e05676c2c..ee3a105126 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ExclusiveScan.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ExclusiveScan.hpp @@ -23,105 +23,130 @@ namespace Kokkos { namespace Experimental { +// +// overload set accepting execution space +// + // overload set 1 -template -std::enable_if_t<::Kokkos::Experimental::Impl::are_iterators< - InputIteratorType, OutputIteratorType>::value, - OutputIteratorType> -exclusive_scan(const ExecutionSpace& ex, InputIteratorType first, - InputIteratorType last, OutputIteratorType first_dest, - ValueType init_value) { - static_assert(std::is_move_constructible::value, +template && :: + Kokkos::is_execution_space_v, + int> = 0> +OutputIteratorType exclusive_scan(const ExecutionSpace& ex, + InputIteratorType first, + InputIteratorType last, + OutputIteratorType first_dest, + ValueType init_value) { + static_assert(std::is_move_constructible_v, "ValueType must be move constructible."); - return Impl::exclusive_scan_default_op_impl( + return Impl::exclusive_scan_default_op_exespace_impl( "Kokkos::exclusive_scan_default_functors_iterator_api", ex, first, last, - first_dest, init_value); + first_dest, std::move(init_value)); } -template -std::enable_if_t<::Kokkos::Experimental::Impl::are_iterators< - InputIteratorType, OutputIteratorType>::value, - OutputIteratorType> -exclusive_scan(const std::string& label, const ExecutionSpace& ex, - InputIteratorType first, InputIteratorType last, - OutputIteratorType first_dest, ValueType init_value) { - static_assert(std::is_move_constructible::value, +template && :: + Kokkos::is_execution_space_v, + int> = 0> +OutputIteratorType exclusive_scan(const std::string& label, + const ExecutionSpace& ex, + InputIteratorType first, + InputIteratorType last, + OutputIteratorType first_dest, + ValueType init_value) { + static_assert(std::is_move_constructible_v, "ValueType must be move constructible."); - return Impl::exclusive_scan_default_op_impl(label, ex, first, last, - first_dest, init_value); + return Impl::exclusive_scan_default_op_exespace_impl( + label, ex, first, last, first_dest, std::move(init_value)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto exclusive_scan(const ExecutionSpace& ex, const ::Kokkos::View& view_from, const ::Kokkos::View& view_dest, ValueType init_value) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); - static_assert(std::is_move_constructible::value, + static_assert(std::is_move_constructible_v, "ValueType must be move constructible."); namespace KE = ::Kokkos::Experimental; - return Impl::exclusive_scan_default_op_impl( + return Impl::exclusive_scan_default_op_exespace_impl( "Kokkos::exclusive_scan_default_functors_view_api", ex, KE::cbegin(view_from), KE::cend(view_from), KE::begin(view_dest), - init_value); + std::move(init_value)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto exclusive_scan(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view_from, const ::Kokkos::View& view_dest, ValueType init_value) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); - static_assert(std::is_move_constructible::value, + static_assert(std::is_move_constructible_v, "ValueType must be move constructible."); namespace KE = ::Kokkos::Experimental; - return Impl::exclusive_scan_default_op_impl(label, ex, KE::cbegin(view_from), - KE::cend(view_from), - KE::begin(view_dest), init_value); + return Impl::exclusive_scan_default_op_exespace_impl( + label, ex, KE::cbegin(view_from), KE::cend(view_from), + KE::begin(view_dest), std::move(init_value)); } // overload set 2 -template -std::enable_if_t<::Kokkos::Experimental::Impl::are_iterators< - InputIteratorType, OutputIteratorType>::value, - OutputIteratorType> -exclusive_scan(const ExecutionSpace& ex, InputIteratorType first, - InputIteratorType last, OutputIteratorType first_dest, - ValueType init_value, BinaryOpType bop) { +template && :: + Kokkos::is_execution_space_v, + int> = 0> +OutputIteratorType exclusive_scan(const ExecutionSpace& ex, + InputIteratorType first, + InputIteratorType last, + OutputIteratorType first_dest, + ValueType init_value, BinaryOpType bop) { Impl::static_assert_is_not_openmptarget(ex); - static_assert(std::is_move_constructible::value, + static_assert(std::is_move_constructible_v, "ValueType must be move constructible."); - return Impl::exclusive_scan_custom_op_impl( + return Impl::exclusive_scan_custom_op_exespace_impl( "Kokkos::exclusive_scan_custom_functors_iterator_api", ex, first, last, - first_dest, init_value, bop); + first_dest, std::move(init_value), bop); } -template -std::enable_if_t<::Kokkos::Experimental::Impl::are_iterators< - InputIteratorType, OutputIteratorType>::value, - OutputIteratorType> -exclusive_scan(const std::string& label, const ExecutionSpace& ex, - InputIteratorType first, InputIteratorType last, - OutputIteratorType first_dest, ValueType init_value, - BinaryOpType bop) { +template && :: + Kokkos::is_execution_space_v, + int> = 0> +OutputIteratorType exclusive_scan(const std::string& label, + const ExecutionSpace& ex, + InputIteratorType first, + InputIteratorType last, + OutputIteratorType first_dest, + ValueType init_value, BinaryOpType bop) { Impl::static_assert_is_not_openmptarget(ex); - static_assert(std::is_move_constructible::value, + static_assert(std::is_move_constructible_v, "ValueType must be move constructible."); - return Impl::exclusive_scan_custom_op_impl(label, ex, first, last, first_dest, - init_value, bop); + return Impl::exclusive_scan_custom_op_exespace_impl( + label, ex, first, last, first_dest, std::move(init_value), bop); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename ValueType, + typename BinaryOpType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto exclusive_scan(const ExecutionSpace& ex, const ::Kokkos::View& view_from, const ::Kokkos::View& view_dest, @@ -129,18 +154,20 @@ auto exclusive_scan(const ExecutionSpace& ex, Impl::static_assert_is_not_openmptarget(ex); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); - static_assert(std::is_move_constructible::value, + static_assert(std::is_move_constructible_v, "ValueType must be move constructible."); namespace KE = ::Kokkos::Experimental; - return Impl::exclusive_scan_custom_op_impl( + return Impl::exclusive_scan_custom_op_exespace_impl( "Kokkos::exclusive_scan_custom_functors_view_api", ex, KE::cbegin(view_from), KE::cend(view_from), KE::begin(view_dest), - init_value, bop); + std::move(init_value), bop); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename ValueType, + typename BinaryOpType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto exclusive_scan(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view_from, const ::Kokkos::View& view_dest, @@ -148,12 +175,92 @@ auto exclusive_scan(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_not_openmptarget(ex); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); - static_assert(std::is_move_constructible::value, + static_assert(std::is_move_constructible_v, "ValueType must be move constructible."); namespace KE = ::Kokkos::Experimental; - return Impl::exclusive_scan_custom_op_impl( + return Impl::exclusive_scan_custom_op_exespace_impl( label, ex, KE::cbegin(view_from), KE::cend(view_from), - KE::begin(view_dest), init_value, bop); + KE::begin(view_dest), std::move(init_value), bop); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// + +// overload set 1 +template && + Kokkos::is_team_handle_v, + int> = 0> +KOKKOS_FUNCTION OutputIteratorType +exclusive_scan(const TeamHandleType& teamHandle, InputIteratorType first, + InputIteratorType last, OutputIteratorType first_dest, + ValueType init_value) { + static_assert(std::is_move_constructible_v, + "ValueType must be move constructible."); + return Impl::exclusive_scan_default_op_team_impl( + teamHandle, first, last, first_dest, std::move(init_value)); +} + +template , int> = 0> +KOKKOS_FUNCTION auto exclusive_scan( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view_from, + const ::Kokkos::View& view_dest, + ValueType init_value) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); + static_assert(std::is_move_constructible_v, + "ValueType must be move constructible."); + namespace KE = ::Kokkos::Experimental; + return Impl::exclusive_scan_default_op_team_impl( + teamHandle, KE::cbegin(view_from), KE::cend(view_from), + KE::begin(view_dest), std::move(init_value)); +} + +// overload set 2 +template && + Kokkos::is_team_handle_v, + int> = 0> +KOKKOS_FUNCTION OutputIteratorType +exclusive_scan(const TeamHandleType& teamHandle, InputIteratorType first, + InputIteratorType last, OutputIteratorType first_dest, + ValueType init_value, BinaryOpType bop) { + Impl::static_assert_is_not_openmptarget(teamHandle); + static_assert(std::is_move_constructible_v, + "ValueType must be move constructible."); + return Impl::exclusive_scan_custom_op_team_impl( + teamHandle, first, last, first_dest, std::move(init_value), bop); +} + +template , int> = 0> +KOKKOS_FUNCTION auto exclusive_scan( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view_from, + const ::Kokkos::View& view_dest, + ValueType init_value, BinaryOpType bop) { + Impl::static_assert_is_not_openmptarget(teamHandle); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); + static_assert(std::is_move_constructible_v, + "ValueType must be move constructible."); + namespace KE = ::Kokkos::Experimental; + return Impl::exclusive_scan_custom_op_team_impl( + teamHandle, KE::cbegin(view_from), KE::cend(view_from), + KE::begin(view_dest), std::move(init_value), bop); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Fill.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Fill.hpp index 1e300a4c20..6d805ba1be 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Fill.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Fill.hpp @@ -23,33 +23,67 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename IteratorType, typename T, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> void fill(const ExecutionSpace& ex, IteratorType first, IteratorType last, const T& value) { - Impl::fill_impl("Kokkos::fill_iterator_api_default", ex, first, last, value); + Impl::fill_exespace_impl("Kokkos::fill_iterator_api_default", ex, first, last, + value); } -template +template < + typename ExecutionSpace, typename IteratorType, typename T, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> void fill(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, const T& value) { - Impl::fill_impl(label, ex, first, last, value); + Impl::fill_exespace_impl(label, ex, first, last, value); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename T, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> void fill(const ExecutionSpace& ex, const ::Kokkos::View& view, const T& value) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - - Impl::fill_impl("Kokkos::fill_view_api_default", ex, begin(view), end(view), - value); + Impl::fill_exespace_impl("Kokkos::fill_view_api_default", ex, begin(view), + end(view), value); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename T, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> void fill(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, const T& value) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + Impl::fill_exespace_impl(label, ex, begin(view), end(view), value); +} - Impl::fill_impl(label, ex, begin(view), end(view), value); +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION void fill(const TeamHandleType& th, IteratorType first, + IteratorType last, const T& value) { + Impl::fill_team_impl(th, first, last, value); +} + +template , int> = 0> +KOKKOS_FUNCTION void fill(const TeamHandleType& th, + const ::Kokkos::View& view, + const T& value) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + Impl::fill_team_impl(th, begin(view), end(view), value); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_FillN.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_FillN.hpp index 02503dfd14..66b8cd66cc 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_FillN.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_FillN.hpp @@ -23,38 +23,72 @@ namespace Kokkos { namespace Experimental { -template +template < + typename ExecutionSpace, typename IteratorType, typename SizeType, + typename T, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType fill_n(const ExecutionSpace& ex, IteratorType first, SizeType n, const T& value) { - return Impl::fill_n_impl("Kokkos::fill_n_iterator_api_default", ex, first, n, - value); + return Impl::fill_n_exespace_impl("Kokkos::fill_n_iterator_api_default", ex, + first, n, value); } -template +template < + typename ExecutionSpace, typename IteratorType, typename SizeType, + typename T, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType fill_n(const std::string& label, const ExecutionSpace& ex, IteratorType first, SizeType n, const T& value) { - return Impl::fill_n_impl(label, ex, first, n, value); + return Impl::fill_n_exespace_impl(label, ex, first, n, value); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename SizeType, typename T, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto fill_n(const ExecutionSpace& ex, const ::Kokkos::View& view, SizeType n, const T& value) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::fill_n_impl("Kokkos::fill_n_view_api_default", ex, begin(view), - n, value); + return Impl::fill_n_exespace_impl("Kokkos::fill_n_view_api_default", ex, + begin(view), n, value); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename SizeType, typename T, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto fill_n(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, SizeType n, const T& value) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::fill_n_impl(label, ex, begin(view), n, value); + return Impl::fill_n_exespace_impl(label, ex, begin(view), n, value); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION IteratorType fill_n(const TeamHandleType& th, + IteratorType first, SizeType n, + const T& value) { + return Impl::fill_n_team_impl(th, first, n, value); +} + +template , int> = 0> +KOKKOS_FUNCTION auto fill_n(const TeamHandleType& th, + const ::Kokkos::View& view, + SizeType n, const T& value) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + return Impl::fill_n_team_impl(th, begin(view), n, value); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Find.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Find.hpp index 65b68cf931..e5e2b0e2b0 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Find.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Find.hpp @@ -23,36 +23,76 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename InputIterator, typename T, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> InputIterator find(const ExecutionSpace& ex, InputIterator first, InputIterator last, const T& value) { - return Impl::find_impl("Kokkos::find_iterator_api_default", ex, first, last, - value); + return Impl::find_exespace_impl("Kokkos::find_iterator_api_default", ex, + first, last, value); } -template +template < + typename ExecutionSpace, typename InputIterator, typename T, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> InputIterator find(const std::string& label, const ExecutionSpace& ex, InputIterator first, InputIterator last, const T& value) { - return Impl::find_impl(label, ex, first, last, value); + return Impl::find_exespace_impl(label, ex, first, last, value); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename T, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto find(const ExecutionSpace& ex, const ::Kokkos::View& view, const T& value) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); namespace KE = ::Kokkos::Experimental; - return Impl::find_impl("Kokkos::find_view_api_default", ex, KE::begin(view), - KE::end(view), value); + return Impl::find_exespace_impl("Kokkos::find_view_api_default", ex, + KE::begin(view), KE::end(view), value); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename T, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto find(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, const T& value) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); namespace KE = ::Kokkos::Experimental; - return Impl::find_impl(label, ex, KE::begin(view), KE::end(view), value); + return Impl::find_exespace_impl(label, ex, KE::begin(view), KE::end(view), + value); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION InputIterator find(const TeamHandleType& teamHandle, + InputIterator first, InputIterator last, + const T& value) { + return Impl::find_team_impl(teamHandle, first, last, value); +} + +template , int> = 0> +KOKKOS_FUNCTION auto find(const TeamHandleType& teamHandle, + const ::Kokkos::View& view, + const T& value) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + + namespace KE = ::Kokkos::Experimental; + return Impl::find_team_impl(teamHandle, KE::begin(view), KE::end(view), + value); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_FindEnd.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_FindEnd.hpp index f6a38855eb..a4ec735fd5 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_FindEnd.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_FindEnd.hpp @@ -24,24 +24,34 @@ namespace Kokkos { namespace Experimental { +// +// overload set accepting execution space +// + // overload set 1: no binary predicate passed -template +template < + typename ExecutionSpace, typename IteratorType1, typename IteratorType2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType1 find_end(const ExecutionSpace& ex, IteratorType1 first, IteratorType1 last, IteratorType2 s_first, IteratorType2 s_last) { - return Impl::find_end_impl("Kokkos::find_end_iterator_api_default", ex, first, - last, s_first, s_last); + return Impl::find_end_exespace_impl("Kokkos::find_end_iterator_api_default", + ex, first, last, s_first, s_last); } -template +template < + typename ExecutionSpace, typename IteratorType1, typename IteratorType2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType1 find_end(const std::string& label, const ExecutionSpace& ex, IteratorType1 first, IteratorType1 last, IteratorType2 s_first, IteratorType2 s_last) { - return Impl::find_end_impl(label, ex, first, last, s_first, s_last); + return Impl::find_end_exespace_impl(label, ex, first, last, s_first, s_last); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto find_end(const ExecutionSpace& ex, const ::Kokkos::View& view, const ::Kokkos::View& s_view) { @@ -49,13 +59,15 @@ auto find_end(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(s_view); namespace KE = ::Kokkos::Experimental; - return Impl::find_end_impl("Kokkos::find_end_view_api_default", ex, - KE::begin(view), KE::end(view), KE::begin(s_view), - KE::end(s_view)); + return Impl::find_end_exespace_impl("Kokkos::find_end_view_api_default", ex, + KE::begin(view), KE::end(view), + KE::begin(s_view), KE::end(s_view)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto find_end(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, const ::Kokkos::View& s_view) { @@ -63,31 +75,38 @@ auto find_end(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(s_view); namespace KE = ::Kokkos::Experimental; - return Impl::find_end_impl(label, ex, KE::begin(view), KE::end(view), - KE::begin(s_view), KE::end(s_view)); + return Impl::find_end_exespace_impl(label, ex, KE::begin(view), KE::end(view), + KE::begin(s_view), KE::end(s_view)); } // overload set 2: binary predicate passed -template +template < + typename ExecutionSpace, typename IteratorType1, typename IteratorType2, + typename BinaryPredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType1 find_end(const ExecutionSpace& ex, IteratorType1 first, IteratorType1 last, IteratorType2 s_first, IteratorType2 s_last, const BinaryPredicateType& pred) { - return Impl::find_end_impl("Kokkos::find_end_iterator_api_default", ex, first, - last, s_first, s_last, pred); + return Impl::find_end_exespace_impl("Kokkos::find_end_iterator_api_default", + ex, first, last, s_first, s_last, pred); } -template +template < + typename ExecutionSpace, typename IteratorType1, typename IteratorType2, + typename BinaryPredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType1 find_end(const std::string& label, const ExecutionSpace& ex, IteratorType1 first, IteratorType1 last, IteratorType2 s_first, IteratorType2 s_last, const BinaryPredicateType& pred) { - return Impl::find_end_impl(label, ex, first, last, s_first, s_last, pred); + return Impl::find_end_exespace_impl(label, ex, first, last, s_first, s_last, + pred); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename BinaryPredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto find_end(const ExecutionSpace& ex, const ::Kokkos::View& view, const ::Kokkos::View& s_view, @@ -96,13 +115,15 @@ auto find_end(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(s_view); namespace KE = ::Kokkos::Experimental; - return Impl::find_end_impl("Kokkos::find_end_view_api_default", ex, - KE::begin(view), KE::end(view), KE::begin(s_view), - KE::end(s_view), pred); + return Impl::find_end_exespace_impl("Kokkos::find_end_view_api_default", ex, + KE::begin(view), KE::end(view), + KE::begin(s_view), KE::end(s_view), pred); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename BinaryPredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto find_end(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, const ::Kokkos::View& s_view, @@ -111,8 +132,71 @@ auto find_end(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(s_view); namespace KE = ::Kokkos::Experimental; - return Impl::find_end_impl(label, ex, KE::begin(view), KE::end(view), - KE::begin(s_view), KE::end(s_view), pred); + return Impl::find_end_exespace_impl(label, ex, KE::begin(view), KE::end(view), + KE::begin(s_view), KE::end(s_view), pred); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// + +// overload set 1: no binary predicate passed +template , int> = 0> +KOKKOS_FUNCTION IteratorType1 find_end(const TeamHandleType& teamHandle, + IteratorType1 first, IteratorType1 last, + IteratorType2 s_first, + IteratorType2 s_last) { + return Impl::find_end_team_impl(teamHandle, first, last, s_first, s_last); +} + +template , int> = 0> +KOKKOS_FUNCTION auto find_end( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view, + const ::Kokkos::View& s_view) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(s_view); + + namespace KE = ::Kokkos::Experimental; + return Impl::find_end_team_impl(teamHandle, KE::begin(view), KE::end(view), + KE::begin(s_view), KE::end(s_view)); +} + +// overload set 2: binary predicate passed +template , int> = 0> + +KOKKOS_FUNCTION IteratorType1 find_end(const TeamHandleType& teamHandle, + IteratorType1 first, IteratorType1 last, + IteratorType2 s_first, + IteratorType2 s_last, + const BinaryPredicateType& pred) { + return Impl::find_end_team_impl(teamHandle, first, last, s_first, s_last, + pred); +} + +template , int> = 0> +KOKKOS_FUNCTION auto find_end( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view, + const ::Kokkos::View& s_view, + const BinaryPredicateType& pred) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(s_view); + + namespace KE = ::Kokkos::Experimental; + return Impl::find_end_team_impl(teamHandle, KE::begin(view), KE::end(view), + KE::begin(s_view), KE::end(s_view), pred); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_FindFirstOf.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_FindFirstOf.hpp index 6b0e4993ee..341a70e2f2 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_FindFirstOf.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_FindFirstOf.hpp @@ -23,24 +23,36 @@ namespace Kokkos { namespace Experimental { +// +// overload set accepting execution space +// + // overload set 1: no binary predicate passed -template +template < + typename ExecutionSpace, typename IteratorType1, typename IteratorType2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType1 find_first_of(const ExecutionSpace& ex, IteratorType1 first, IteratorType1 last, IteratorType2 s_first, IteratorType2 s_last) { - return Impl::find_first_of_impl("Kokkos::find_first_of_iterator_api_default", - ex, first, last, s_first, s_last); + return Impl::find_first_of_exespace_impl( + "Kokkos::find_first_of_iterator_api_default", ex, first, last, s_first, + s_last); } -template +template < + typename ExecutionSpace, typename IteratorType1, typename IteratorType2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType1 find_first_of(const std::string& label, const ExecutionSpace& ex, IteratorType1 first, IteratorType1 last, IteratorType2 s_first, IteratorType2 s_last) { - return Impl::find_first_of_impl(label, ex, first, last, s_first, s_last); + return Impl::find_first_of_exespace_impl(label, ex, first, last, s_first, + s_last); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto find_first_of(const ExecutionSpace& ex, const ::Kokkos::View& view, const ::Kokkos::View& s_view) { @@ -48,13 +60,15 @@ auto find_first_of(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(s_view); namespace KE = ::Kokkos::Experimental; - return Impl::find_first_of_impl("Kokkos::find_first_of_view_api_default", ex, - KE::begin(view), KE::end(view), - KE::begin(s_view), KE::end(s_view)); + return Impl::find_first_of_exespace_impl( + "Kokkos::find_first_of_view_api_default", ex, KE::begin(view), + KE::end(view), KE::begin(s_view), KE::end(s_view)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto find_first_of(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, const ::Kokkos::View& s_view) { @@ -62,33 +76,41 @@ auto find_first_of(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(s_view); namespace KE = ::Kokkos::Experimental; - return Impl::find_first_of_impl(label, ex, KE::begin(view), KE::end(view), - KE::begin(s_view), KE::end(s_view)); + return Impl::find_first_of_exespace_impl(label, ex, KE::begin(view), + KE::end(view), KE::begin(s_view), + KE::end(s_view)); } // overload set 2: binary predicate passed -template +template < + typename ExecutionSpace, typename IteratorType1, typename IteratorType2, + typename BinaryPredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType1 find_first_of(const ExecutionSpace& ex, IteratorType1 first, IteratorType1 last, IteratorType2 s_first, IteratorType2 s_last, const BinaryPredicateType& pred) { - return Impl::find_first_of_impl("Kokkos::find_first_of_iterator_api_default", - ex, first, last, s_first, s_last, pred); + return Impl::find_first_of_exespace_impl( + "Kokkos::find_first_of_iterator_api_default", ex, first, last, s_first, + s_last, pred); } -template +template < + typename ExecutionSpace, typename IteratorType1, typename IteratorType2, + typename BinaryPredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType1 find_first_of(const std::string& label, const ExecutionSpace& ex, IteratorType1 first, IteratorType1 last, IteratorType2 s_first, IteratorType2 s_last, const BinaryPredicateType& pred) { - return Impl::find_first_of_impl(label, ex, first, last, s_first, s_last, - pred); + return Impl::find_first_of_exespace_impl(label, ex, first, last, s_first, + s_last, pred); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename BinaryPredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto find_first_of(const ExecutionSpace& ex, const ::Kokkos::View& view, const ::Kokkos::View& s_view, @@ -97,13 +119,15 @@ auto find_first_of(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(s_view); namespace KE = ::Kokkos::Experimental; - return Impl::find_first_of_impl("Kokkos::find_first_of_view_api_default", ex, - KE::begin(view), KE::end(view), - KE::begin(s_view), KE::end(s_view), pred); + return Impl::find_first_of_exespace_impl( + "Kokkos::find_first_of_view_api_default", ex, KE::begin(view), + KE::end(view), KE::begin(s_view), KE::end(s_view), pred); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename BinaryPredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto find_first_of(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, const ::Kokkos::View& s_view, @@ -112,8 +136,77 @@ auto find_first_of(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(s_view); namespace KE = ::Kokkos::Experimental; - return Impl::find_first_of_impl(label, ex, KE::begin(view), KE::end(view), - KE::begin(s_view), KE::end(s_view), pred); + return Impl::find_first_of_exespace_impl(label, ex, KE::begin(view), + KE::end(view), KE::begin(s_view), + KE::end(s_view), pred); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// + +// overload set 1: no binary predicate passed +template , int> = 0> +KOKKOS_FUNCTION IteratorType1 find_first_of(const TeamHandleType& teamHandle, + IteratorType1 first, + IteratorType1 last, + IteratorType2 s_first, + IteratorType2 s_last) { + return Impl::find_first_of_team_impl(teamHandle, first, last, s_first, + s_last); +} + +template , int> = 0> +KOKKOS_FUNCTION auto find_first_of( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view, + const ::Kokkos::View& s_view) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(s_view); + + namespace KE = ::Kokkos::Experimental; + return Impl::find_first_of_team_impl(teamHandle, KE::begin(view), + KE::end(view), KE::begin(s_view), + KE::end(s_view)); +} + +// overload set 2: binary predicate passed +template , int> = 0> + +KOKKOS_FUNCTION IteratorType1 find_first_of(const TeamHandleType& teamHandle, + IteratorType1 first, + IteratorType1 last, + IteratorType2 s_first, + IteratorType2 s_last, + const BinaryPredicateType& pred) { + return Impl::find_first_of_team_impl(teamHandle, first, last, s_first, s_last, + pred); +} + +template , int> = 0> +KOKKOS_FUNCTION auto find_first_of( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view, + const ::Kokkos::View& s_view, + const BinaryPredicateType& pred) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(s_view); + + namespace KE = ::Kokkos::Experimental; + return Impl::find_first_of_team_impl(teamHandle, KE::begin(view), + KE::end(view), KE::begin(s_view), + KE::end(s_view), pred); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_FindIf.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_FindIf.hpp index 911316a668..283fab7617 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_FindIf.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_FindIf.hpp @@ -23,42 +23,82 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename IteratorType, typename PredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType find_if(const ExecutionSpace& ex, IteratorType first, IteratorType last, PredicateType predicate) { - return Impl::find_if_or_not_impl("Kokkos::find_if_iterator_api_default", - ex, first, last, std::move(predicate)); + return Impl::find_if_or_not_exespace_impl( + "Kokkos::find_if_iterator_api_default", ex, first, last, + std::move(predicate)); } -template +template < + typename ExecutionSpace, typename IteratorType, typename PredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType find_if(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, PredicateType predicate) { - return Impl::find_if_or_not_impl(label, ex, first, last, - std::move(predicate)); + return Impl::find_if_or_not_exespace_impl(label, ex, first, last, + std::move(predicate)); } -template +template ::value, + int> = 0> auto find_if(const ExecutionSpace& ex, const ::Kokkos::View& v, Predicate predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::find_if_or_not_impl("Kokkos::find_if_view_api_default", ex, - KE::begin(v), KE::end(v), - std::move(predicate)); + return Impl::find_if_or_not_exespace_impl( + "Kokkos::find_if_view_api_default", ex, KE::begin(v), KE::end(v), + std::move(predicate)); } -template +template ::value, + int> = 0> auto find_if(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& v, Predicate predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::find_if_or_not_impl(label, ex, KE::begin(v), KE::end(v), - std::move(predicate)); + return Impl::find_if_or_not_exespace_impl( + label, ex, KE::begin(v), KE::end(v), std::move(predicate)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION IteratorType find_if(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last, + PredicateType predicate) { + return Impl::find_if_or_not_team_impl(teamHandle, first, last, + std::move(predicate)); +} + +template < + typename TeamHandleType, typename DataType, typename... Properties, + typename Predicate, + std::enable_if_t<::Kokkos::is_team_handle::value, int> = 0> +KOKKOS_FUNCTION auto find_if(const TeamHandleType& teamHandle, + const ::Kokkos::View& v, + Predicate predicate) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); + namespace KE = ::Kokkos::Experimental; + return Impl::find_if_or_not_team_impl(teamHandle, KE::begin(v), + KE::end(v), std::move(predicate)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_FindIfNot.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_FindIfNot.hpp index 18294d7b7d..5e17a6f539 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_FindIfNot.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_FindIfNot.hpp @@ -23,45 +23,84 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename IteratorType, typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType find_if_not(const ExecutionSpace& ex, IteratorType first, IteratorType last, Predicate predicate) { - return Impl::find_if_or_not_impl( + return Impl::find_if_or_not_exespace_impl( "Kokkos::find_if_not_iterator_api_default", ex, first, last, std::move(predicate)); } -template +template < + typename ExecutionSpace, typename IteratorType, typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType find_if_not(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, Predicate predicate) { - return Impl::find_if_or_not_impl(label, ex, first, last, - std::move(predicate)); + return Impl::find_if_or_not_exespace_impl(label, ex, first, last, + std::move(predicate)); } -template +template ::value, + int> = 0> auto find_if_not(const ExecutionSpace& ex, const ::Kokkos::View& v, Predicate predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::find_if_or_not_impl( + return Impl::find_if_or_not_exespace_impl( "Kokkos::find_if_not_view_api_default", ex, KE::begin(v), KE::end(v), std::move(predicate)); } -template +template ::value, + int> = 0> auto find_if_not(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& v, Predicate predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::find_if_or_not_impl(label, ex, KE::begin(v), KE::end(v), - std::move(predicate)); + return Impl::find_if_or_not_exespace_impl( + label, ex, KE::begin(v), KE::end(v), std::move(predicate)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION IteratorType find_if_not(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last, + Predicate predicate) { + return Impl::find_if_or_not_team_impl(teamHandle, first, last, + std::move(predicate)); +} + +template < + typename TeamHandleType, typename DataType, typename... Properties, + typename Predicate, + std::enable_if_t<::Kokkos::is_team_handle::value, int> = 0> +KOKKOS_FUNCTION auto find_if_not( + const TeamHandleType& teamHandle, + const ::Kokkos::View& v, Predicate predicate) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); + + namespace KE = ::Kokkos::Experimental; + return Impl::find_if_or_not_team_impl( + teamHandle, KE::begin(v), KE::end(v), std::move(predicate)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ForEach.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ForEach.hpp index d7b08e4842..6215b325af 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ForEach.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ForEach.hpp @@ -23,42 +23,83 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + class ExecutionSpace, class IteratorType, class UnaryFunctorType, + std::enable_if_t, int> = 0> UnaryFunctorType for_each(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, UnaryFunctorType functor) { - return Impl::for_each_impl(label, ex, first, last, std::move(functor)); + return Impl::for_each_exespace_impl(label, ex, first, last, + std::move(functor)); } -template +template < + class ExecutionSpace, class IteratorType, class UnaryFunctorType, + std::enable_if_t, int> = 0> UnaryFunctorType for_each(const ExecutionSpace& ex, IteratorType first, IteratorType last, UnaryFunctorType functor) { - return Impl::for_each_impl("Kokkos::for_each_iterator_api_default", ex, first, - last, std::move(functor)); + return Impl::for_each_exespace_impl("Kokkos::for_each_iterator_api_default", + ex, first, last, std::move(functor)); } -template +template < + class ExecutionSpace, class DataType, class... Properties, + class UnaryFunctorType, + std::enable_if_t, int> = 0> UnaryFunctorType for_each(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& v, UnaryFunctorType functor) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::for_each_impl(label, ex, KE::begin(v), KE::end(v), - std::move(functor)); + return Impl::for_each_exespace_impl(label, ex, KE::begin(v), KE::end(v), + std::move(functor)); } -template +template < + class ExecutionSpace, class DataType, class... Properties, + class UnaryFunctorType, + std::enable_if_t, int> = 0> UnaryFunctorType for_each(const ExecutionSpace& ex, const ::Kokkos::View& v, UnaryFunctorType functor) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::for_each_impl("Kokkos::for_each_view_api_default", ex, - KE::begin(v), KE::end(v), std::move(functor)); + return Impl::for_each_exespace_impl("Kokkos::for_each_view_api_default", ex, + KE::begin(v), KE::end(v), + std::move(functor)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// + +template , int> = 0> +KOKKOS_FUNCTION UnaryFunctorType for_each(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last, + UnaryFunctorType functor) { + return Impl::for_each_team_impl(teamHandle, first, last, std::move(functor)); +} + +template , int> = 0> +KOKKOS_FUNCTION UnaryFunctorType +for_each(const TeamHandleType& teamHandle, + const ::Kokkos::View& v, + UnaryFunctorType functor) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); + + namespace KE = ::Kokkos::Experimental; + return Impl::for_each_team_impl(teamHandle, KE::begin(v), KE::end(v), + std::move(functor)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ForEachN.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ForEachN.hpp index f1769da05b..e6fbcad891 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ForEachN.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ForEachN.hpp @@ -23,43 +23,87 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + class ExecutionSpace, class IteratorType, class SizeType, + class UnaryFunctorType, + std::enable_if_t, int> = 0> IteratorType for_each_n(const std::string& label, const ExecutionSpace& ex, IteratorType first, SizeType n, UnaryFunctorType functor) { - return Impl::for_each_n_impl(label, ex, first, n, std::move(functor)); + return Impl::for_each_n_exespace_impl(label, ex, first, n, + std::move(functor)); } -template +template < + class ExecutionSpace, class IteratorType, class SizeType, + class UnaryFunctorType, + std::enable_if_t, int> = 0> IteratorType for_each_n(const ExecutionSpace& ex, IteratorType first, SizeType n, UnaryFunctorType functor) { - return Impl::for_each_n_impl("Kokkos::for_each_n_iterator_api_default", ex, - first, n, std::move(functor)); + return Impl::for_each_n_exespace_impl( + "Kokkos::for_each_n_iterator_api_default", ex, first, n, + std::move(functor)); } -template +template < + class ExecutionSpace, class DataType, class... Properties, class SizeType, + class UnaryFunctorType, + std::enable_if_t, int> = 0> auto for_each_n(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& v, SizeType n, UnaryFunctorType functor) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::for_each_n_impl(label, ex, KE::begin(v), n, std::move(functor)); + return Impl::for_each_n_exespace_impl(label, ex, KE::begin(v), n, + std::move(functor)); } -template +template < + class ExecutionSpace, class DataType, class... Properties, class SizeType, + class UnaryFunctorType, + std::enable_if_t, int> = 0> auto for_each_n(const ExecutionSpace& ex, const ::Kokkos::View& v, SizeType n, UnaryFunctorType functor) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::for_each_n_impl("Kokkos::for_each_n_view_api_default", ex, - KE::begin(v), n, std::move(functor)); + return Impl::for_each_n_exespace_impl("Kokkos::for_each_n_view_api_default", + ex, KE::begin(v), n, + std::move(functor)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// + +template , int> = 0> +KOKKOS_FUNCTION IteratorType for_each_n(const TeamHandleType& teamHandle, + IteratorType first, SizeType n, + UnaryFunctorType functor) { + return Impl::for_each_n_team_impl(teamHandle, first, n, std::move(functor)); +} + +template , int> = 0> +KOKKOS_FUNCTION auto for_each_n( + const TeamHandleType& teamHandle, + const ::Kokkos::View& v, SizeType n, + UnaryFunctorType functor) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); + + namespace KE = ::Kokkos::Experimental; + return Impl::for_each_n_team_impl(teamHandle, KE::begin(v), n, + std::move(functor)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Generate.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Generate.hpp index 13e12783e0..a3295084ee 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Generate.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Generate.hpp @@ -23,38 +23,68 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template , int> = 0> void generate(const ExecutionSpace& ex, IteratorType first, IteratorType last, Generator g) { - Impl::generate_impl("Kokkos::generate_iterator_api_default", ex, first, last, - std::move(g)); + Impl::generate_exespace_impl("Kokkos::generate_iterator_api_default", ex, + first, last, std::move(g)); } -template +template , int> = 0> void generate(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, Generator g) { - Impl::generate_impl(label, ex, first, last, std::move(g)); + Impl::generate_exespace_impl(label, ex, first, last, std::move(g)); } -template +template , int> = 0> void generate(const ExecutionSpace& ex, const ::Kokkos::View& view, Generator g) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - Impl::generate_impl("Kokkos::generate_view_api_default", ex, begin(view), - end(view), std::move(g)); + Impl::generate_exespace_impl("Kokkos::generate_view_api_default", ex, + begin(view), end(view), std::move(g)); } -template +template , int> = 0> void generate(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, Generator g) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - Impl::generate_impl(label, ex, begin(view), end(view), std::move(g)); + Impl::generate_exespace_impl(label, ex, begin(view), end(view), std::move(g)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION void generate(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last, + Generator g) { + Impl::generate_team_impl(teamHandle, first, last, std::move(g)); +} + +template , int> = 0> +KOKKOS_FUNCTION void generate( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view, Generator g) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + Impl::generate_team_impl(teamHandle, begin(view), end(view), std::move(g)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_GenerateN.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_GenerateN.hpp index 4d17512228..e480062c23 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_GenerateN.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_GenerateN.hpp @@ -23,40 +23,75 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template , int> = 0> IteratorType generate_n(const ExecutionSpace& ex, IteratorType first, Size count, Generator g) { - Impl::generate_n_impl("Kokkos::generate_n_iterator_api_default", ex, first, - count, std::move(g)); - return first + count; + return Impl::generate_n_exespace_impl( + "Kokkos::generate_n_iterator_api_default", ex, first, count, + std::move(g)); } -template +template , int> = 0> IteratorType generate_n(const std::string& label, const ExecutionSpace& ex, IteratorType first, Size count, Generator g) { - Impl::generate_n_impl(label, ex, first, count, std::move(g)); - return first + count; + return Impl::generate_n_exespace_impl(label, ex, first, count, std::move(g)); } -template +template , int> = 0> auto generate_n(const ExecutionSpace& ex, const ::Kokkos::View& view, Size count, Generator g) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::generate_n_impl("Kokkos::generate_n_view_api_default", ex, - begin(view), count, std::move(g)); + return Impl::generate_n_exespace_impl("Kokkos::generate_n_view_api_default", + ex, begin(view), count, std::move(g)); } -template +template , int> = 0> auto generate_n(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, Size count, Generator g) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::generate_n_impl(label, ex, begin(view), count, std::move(g)); + return Impl::generate_n_exespace_impl(label, ex, begin(view), count, + std::move(g)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION IteratorType generate_n(const TeamHandleType& teamHandle, + IteratorType first, Size count, + Generator g) { + return Impl::generate_n_team_impl(teamHandle, first, count, std::move(g)); +} + +template , int> = 0> +KOKKOS_FUNCTION auto generate_n( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view, Size count, + Generator g) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + return Impl::generate_n_team_impl(teamHandle, begin(view), count, + std::move(g)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_InclusiveScan.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_InclusiveScan.hpp index bcd731b850..a0e540b5e7 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_InclusiveScan.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_InclusiveScan.hpp @@ -23,33 +23,45 @@ namespace Kokkos { namespace Experimental { +// +// overload set accepting execution space +// + // overload set 1 -template -std::enable_if_t<::Kokkos::Experimental::Impl::are_iterators< - InputIteratorType, OutputIteratorType>::value, - OutputIteratorType> -inclusive_scan(const ExecutionSpace& ex, InputIteratorType first, - InputIteratorType last, OutputIteratorType first_dest) { - return Impl::inclusive_scan_default_op_impl( +template && :: + Kokkos::is_execution_space_v, + int> = 0> +OutputIteratorType inclusive_scan(const ExecutionSpace& ex, + InputIteratorType first, + InputIteratorType last, + OutputIteratorType first_dest) { + return Impl::inclusive_scan_default_op_exespace_impl( "Kokkos::inclusive_scan_default_functors_iterator_api", ex, first, last, first_dest); } -template -std::enable_if_t<::Kokkos::Experimental::Impl::are_iterators< - InputIteratorType, OutputIteratorType>::value, - OutputIteratorType> -inclusive_scan(const std::string& label, const ExecutionSpace& ex, - InputIteratorType first, InputIteratorType last, - OutputIteratorType first_dest) { - return Impl::inclusive_scan_default_op_impl(label, ex, first, last, - first_dest); +template && :: + Kokkos::is_execution_space_v, + int> = 0> +OutputIteratorType inclusive_scan(const std::string& label, + const ExecutionSpace& ex, + InputIteratorType first, + InputIteratorType last, + OutputIteratorType first_dest) { + return Impl::inclusive_scan_default_op_exespace_impl(label, ex, first, last, + first_dest); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto inclusive_scan( const ExecutionSpace& ex, const ::Kokkos::View& view_from, @@ -57,13 +69,15 @@ auto inclusive_scan( Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); namespace KE = ::Kokkos::Experimental; - return Impl::inclusive_scan_default_op_impl( + return Impl::inclusive_scan_default_op_exespace_impl( "Kokkos::inclusive_scan_default_functors_view_api", ex, KE::cbegin(view_from), KE::cend(view_from), KE::begin(view_dest)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto inclusive_scan( const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view_from, @@ -71,39 +85,45 @@ auto inclusive_scan( Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); namespace KE = ::Kokkos::Experimental; - return Impl::inclusive_scan_default_op_impl(label, ex, KE::cbegin(view_from), - KE::cend(view_from), - KE::begin(view_dest)); + return Impl::inclusive_scan_default_op_exespace_impl( + label, ex, KE::cbegin(view_from), KE::cend(view_from), + KE::begin(view_dest)); } // overload set 2 (accepting custom binary op) -template -std::enable_if_t<::Kokkos::Experimental::Impl::are_iterators< - InputIteratorType, OutputIteratorType>::value, - OutputIteratorType> -inclusive_scan(const ExecutionSpace& ex, InputIteratorType first, - InputIteratorType last, OutputIteratorType first_dest, - BinaryOp binary_op) { - return Impl::inclusive_scan_custom_binary_op_impl( +template && :: + Kokkos::is_execution_space_v, + int> = 0> +OutputIteratorType inclusive_scan(const ExecutionSpace& ex, + InputIteratorType first, + InputIteratorType last, + OutputIteratorType first_dest, + BinaryOp binary_op) { + return Impl::inclusive_scan_custom_binary_op_exespace_impl( "Kokkos::inclusive_scan_custom_functors_iterator_api", ex, first, last, first_dest, binary_op); } -template -std::enable_if_t<::Kokkos::Experimental::Impl::are_iterators< - InputIteratorType, OutputIteratorType>::value, - OutputIteratorType> -inclusive_scan(const std::string& label, const ExecutionSpace& ex, - InputIteratorType first, InputIteratorType last, - OutputIteratorType first_dest, BinaryOp binary_op) { - return Impl::inclusive_scan_custom_binary_op_impl(label, ex, first, last, - first_dest, binary_op); +template && :: + Kokkos::is_execution_space_v, + int> = 0> +OutputIteratorType inclusive_scan( + const std::string& label, const ExecutionSpace& ex, InputIteratorType first, + InputIteratorType last, OutputIteratorType first_dest, BinaryOp binary_op) { + return Impl::inclusive_scan_custom_binary_op_exespace_impl( + label, ex, first, last, first_dest, binary_op); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename BinaryOp, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto inclusive_scan(const ExecutionSpace& ex, const ::Kokkos::View& view_from, const ::Kokkos::View& view_dest, @@ -111,14 +131,16 @@ auto inclusive_scan(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); namespace KE = ::Kokkos::Experimental; - return Impl::inclusive_scan_custom_binary_op_impl( + return Impl::inclusive_scan_custom_binary_op_exespace_impl( "Kokkos::inclusive_scan_custom_functors_view_api", ex, KE::cbegin(view_from), KE::cend(view_from), KE::begin(view_dest), binary_op); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename BinaryOp, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto inclusive_scan(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view_from, const ::Kokkos::View& view_dest, @@ -126,67 +148,192 @@ auto inclusive_scan(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); namespace KE = ::Kokkos::Experimental; - return Impl::inclusive_scan_custom_binary_op_impl( + return Impl::inclusive_scan_custom_binary_op_exespace_impl( label, ex, KE::cbegin(view_from), KE::cend(view_from), KE::begin(view_dest), binary_op); } // overload set 3 -template -std::enable_if_t<::Kokkos::Experimental::Impl::are_iterators< - InputIteratorType, OutputIteratorType>::value, - OutputIteratorType> -inclusive_scan(const ExecutionSpace& ex, InputIteratorType first, - InputIteratorType last, OutputIteratorType first_dest, - BinaryOp binary_op, ValueType init_value) { - return Impl::inclusive_scan_custom_binary_op_impl( +template && :: + Kokkos::is_execution_space_v, + int> = 0> +OutputIteratorType inclusive_scan(const ExecutionSpace& ex, + InputIteratorType first, + InputIteratorType last, + OutputIteratorType first_dest, + BinaryOp binary_op, ValueType init_value) { + static_assert(std::is_move_constructible_v, + "ValueType must be move constructible."); + + return Impl::inclusive_scan_custom_binary_op_exespace_impl( "Kokkos::inclusive_scan_custom_functors_iterator_api", ex, first, last, - first_dest, binary_op, init_value); + first_dest, binary_op, std::move(init_value)); } -template -std::enable_if_t<::Kokkos::Experimental::Impl::are_iterators< - InputIteratorType, OutputIteratorType>::value, - OutputIteratorType> -inclusive_scan(const std::string& label, const ExecutionSpace& ex, - InputIteratorType first, InputIteratorType last, - OutputIteratorType first_dest, BinaryOp binary_op, - ValueType init_value) { - return Impl::inclusive_scan_custom_binary_op_impl( - label, ex, first, last, first_dest, binary_op, init_value); +template && :: + Kokkos::is_execution_space_v, + int> = 0> +OutputIteratorType inclusive_scan(const std::string& label, + const ExecutionSpace& ex, + InputIteratorType first, + InputIteratorType last, + OutputIteratorType first_dest, + BinaryOp binary_op, ValueType init_value) { + static_assert(std::is_move_constructible_v, + "ValueType must be move constructible."); + + return Impl::inclusive_scan_custom_binary_op_exespace_impl( + label, ex, first, last, first_dest, binary_op, std::move(init_value)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename BinaryOp, + typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto inclusive_scan(const ExecutionSpace& ex, const ::Kokkos::View& view_from, const ::Kokkos::View& view_dest, BinaryOp binary_op, ValueType init_value) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); + static_assert(std::is_move_constructible_v, + "ValueType must be move constructible."); + namespace KE = ::Kokkos::Experimental; - return Impl::inclusive_scan_custom_binary_op_impl( + return Impl::inclusive_scan_custom_binary_op_exespace_impl( "Kokkos::inclusive_scan_custom_functors_view_api", ex, KE::cbegin(view_from), KE::cend(view_from), KE::begin(view_dest), - binary_op, init_value); + binary_op, std::move(init_value)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename BinaryOp, + typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto inclusive_scan(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view_from, const ::Kokkos::View& view_dest, BinaryOp binary_op, ValueType init_value) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); + static_assert(std::is_move_constructible_v, + "ValueType must be move constructible."); + namespace KE = ::Kokkos::Experimental; - return Impl::inclusive_scan_custom_binary_op_impl( + return Impl::inclusive_scan_custom_binary_op_exespace_impl( label, ex, KE::cbegin(view_from), KE::cend(view_from), - KE::begin(view_dest), binary_op, init_value); + KE::begin(view_dest), binary_op, std::move(init_value)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// + +// overload set 1 +template && :: + Kokkos::is_team_handle_v, + int> = 0> +KOKKOS_FUNCTION OutputIteratorType +inclusive_scan(const TeamHandleType& teamHandle, InputIteratorType first, + InputIteratorType last, OutputIteratorType first_dest) { + return Impl::inclusive_scan_default_op_team_impl(teamHandle, first, last, + first_dest); +} + +template , int> = 0> +KOKKOS_FUNCTION auto inclusive_scan( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view_from, + const ::Kokkos::View& view_dest) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); + namespace KE = ::Kokkos::Experimental; + return Impl::inclusive_scan_default_op_team_impl( + teamHandle, KE::cbegin(view_from), KE::cend(view_from), + KE::begin(view_dest)); +} + +// overload set 2 (accepting custom binary op) +template && :: + Kokkos::is_team_handle_v, + int> = 0> +KOKKOS_FUNCTION OutputIteratorType inclusive_scan( + const TeamHandleType& teamHandle, InputIteratorType first, + InputIteratorType last, OutputIteratorType first_dest, BinaryOp binary_op) { + return Impl::inclusive_scan_custom_binary_op_team_impl( + teamHandle, first, last, first_dest, binary_op); +} + +template , int> = 0> +KOKKOS_FUNCTION auto inclusive_scan( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view_from, + const ::Kokkos::View& view_dest, + BinaryOp binary_op) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); + namespace KE = ::Kokkos::Experimental; + return Impl::inclusive_scan_custom_binary_op_team_impl( + teamHandle, KE::cbegin(view_from), KE::cend(view_from), + KE::begin(view_dest), binary_op); +} + +// overload set 3 +template && :: + Kokkos::is_team_handle_v, + int> = 0> + +KOKKOS_FUNCTION OutputIteratorType +inclusive_scan(const TeamHandleType& teamHandle, InputIteratorType first, + InputIteratorType last, OutputIteratorType first_dest, + BinaryOp binary_op, ValueType init_value) { + static_assert(std::is_move_constructible_v, + "ValueType must be move constructible."); + return Impl::inclusive_scan_custom_binary_op_team_impl( + teamHandle, first, last, first_dest, binary_op, std::move(init_value)); +} + +template , int> = 0> +KOKKOS_FUNCTION auto inclusive_scan( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view_from, + const ::Kokkos::View& view_dest, + BinaryOp binary_op, ValueType init_value) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); + static_assert(std::is_move_constructible_v, + "ValueType must be move constructible."); + + namespace KE = ::Kokkos::Experimental; + return Impl::inclusive_scan_custom_binary_op_team_impl( + teamHandle, KE::cbegin(view_from), KE::cend(view_from), + KE::begin(view_dest), binary_op, std::move(init_value)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IsPartitioned.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IsPartitioned.hpp index 29d6be9e8b..42f20bc4ec 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IsPartitioned.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IsPartitioned.hpp @@ -23,39 +23,78 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename IteratorType, typename PredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool is_partitioned(const ExecutionSpace& ex, IteratorType first, IteratorType last, PredicateType p) { - return Impl::is_partitioned_impl( + return Impl::is_partitioned_exespace_impl( "Kokkos::is_partitioned_iterator_api_default", ex, first, last, std::move(p)); } -template +template < + typename ExecutionSpace, typename IteratorType, typename PredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool is_partitioned(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, PredicateType p) { - return Impl::is_partitioned_impl(label, ex, first, last, std::move(p)); + return Impl::is_partitioned_exespace_impl(label, ex, first, last, + std::move(p)); } -template +template < + typename ExecutionSpace, typename PredicateType, typename DataType, + typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool is_partitioned(const ExecutionSpace& ex, const ::Kokkos::View& v, PredicateType p) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); - return Impl::is_partitioned_impl("Kokkos::is_partitioned_view_api_default", - ex, cbegin(v), cend(v), std::move(p)); + return Impl::is_partitioned_exespace_impl( + "Kokkos::is_partitioned_view_api_default", ex, cbegin(v), cend(v), + std::move(p)); } -template +template < + typename ExecutionSpace, typename PredicateType, typename DataType, + typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool is_partitioned(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& v, PredicateType p) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); - return Impl::is_partitioned_impl(label, ex, cbegin(v), cend(v), std::move(p)); + return Impl::is_partitioned_exespace_impl(label, ex, cbegin(v), cend(v), + std::move(p)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION bool is_partitioned(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last, + PredicateType p) { + return Impl::is_partitioned_team_impl(teamHandle, first, last, std::move(p)); +} + +template , int> = 0> +KOKKOS_FUNCTION bool is_partitioned( + const TeamHandleType& teamHandle, + const ::Kokkos::View& v, PredicateType p) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); + return Impl::is_partitioned_team_impl(teamHandle, cbegin(v), cend(v), + std::move(p)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IsSorted.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IsSorted.hpp index f036254a02..2c676c3ff3 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IsSorted.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IsSorted.hpp @@ -23,55 +23,73 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename IteratorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool is_sorted(const ExecutionSpace& ex, IteratorType first, IteratorType last) { - return Impl::is_sorted_impl("Kokkos::is_sorted_iterator_api_default", ex, - first, last); + return Impl::is_sorted_exespace_impl("Kokkos::is_sorted_iterator_api_default", + ex, first, last); } -template +template < + typename ExecutionSpace, typename IteratorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool is_sorted(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last) { - return Impl::is_sorted_impl(label, ex, first, last); + return Impl::is_sorted_exespace_impl(label, ex, first, last); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool is_sorted(const ExecutionSpace& ex, const ::Kokkos::View& view) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); namespace KE = ::Kokkos::Experimental; - return Impl::is_sorted_impl("Kokkos::is_sorted_view_api_default", ex, - KE::cbegin(view), KE::cend(view)); + return Impl::is_sorted_exespace_impl("Kokkos::is_sorted_view_api_default", ex, + KE::cbegin(view), KE::cend(view)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool is_sorted(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); namespace KE = ::Kokkos::Experimental; - return Impl::is_sorted_impl(label, ex, KE::cbegin(view), KE::cend(view)); + return Impl::is_sorted_exespace_impl(label, ex, KE::cbegin(view), + KE::cend(view)); } -template +template < + typename ExecutionSpace, typename IteratorType, typename ComparatorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool is_sorted(const ExecutionSpace& ex, IteratorType first, IteratorType last, ComparatorType comp) { Impl::static_assert_is_not_openmptarget(ex); - return Impl::is_sorted_impl("Kokkos::is_sorted_iterator_api_default", ex, - first, last, std::move(comp)); + return Impl::is_sorted_exespace_impl("Kokkos::is_sorted_iterator_api_default", + ex, first, last, std::move(comp)); } -template +template < + typename ExecutionSpace, typename IteratorType, typename ComparatorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool is_sorted(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, ComparatorType comp) { Impl::static_assert_is_not_openmptarget(ex); - return Impl::is_sorted_impl(label, ex, first, last, std::move(comp)); + return Impl::is_sorted_exespace_impl(label, ex, first, last, std::move(comp)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename ComparatorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool is_sorted(const ExecutionSpace& ex, const ::Kokkos::View& view, ComparatorType comp) { @@ -79,13 +97,15 @@ bool is_sorted(const ExecutionSpace& ex, Impl::static_assert_is_not_openmptarget(ex); namespace KE = ::Kokkos::Experimental; - return Impl::is_sorted_impl("Kokkos::is_sorted_view_api_default", ex, - KE::cbegin(view), KE::cend(view), - std::move(comp)); + return Impl::is_sorted_exespace_impl("Kokkos::is_sorted_view_api_default", ex, + KE::cbegin(view), KE::cend(view), + std::move(comp)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename ComparatorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool is_sorted(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, ComparatorType comp) { @@ -93,8 +113,56 @@ bool is_sorted(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_not_openmptarget(ex); namespace KE = ::Kokkos::Experimental; - return Impl::is_sorted_impl(label, ex, KE::cbegin(view), KE::cend(view), - std::move(comp)); + return Impl::is_sorted_exespace_impl(label, ex, KE::cbegin(view), + KE::cend(view), std::move(comp)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION bool is_sorted(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last) { + return Impl::is_sorted_team_impl(teamHandle, first, last); +} + +template , int> = 0> +KOKKOS_FUNCTION bool is_sorted( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + + namespace KE = ::Kokkos::Experimental; + return Impl::is_sorted_team_impl(teamHandle, KE::cbegin(view), + KE::cend(view)); +} + +template , int> = 0> +KOKKOS_FUNCTION bool is_sorted(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last, + ComparatorType comp) { + Impl::static_assert_is_not_openmptarget(teamHandle); + return Impl::is_sorted_team_impl(teamHandle, first, last, std::move(comp)); +} + +template , int> = 0> +KOKKOS_FUNCTION bool is_sorted( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view, ComparatorType comp) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + Impl::static_assert_is_not_openmptarget(teamHandle); + + namespace KE = ::Kokkos::Experimental; + return Impl::is_sorted_team_impl(teamHandle, KE::cbegin(view), KE::cend(view), + std::move(comp)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IsSortedUntil.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IsSortedUntil.hpp index 276b3bb884..96a17b6785 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IsSortedUntil.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IsSortedUntil.hpp @@ -23,58 +23,78 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename IteratorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType is_sorted_until(const ExecutionSpace& ex, IteratorType first, IteratorType last) { - return Impl::is_sorted_until_impl( + return Impl::is_sorted_until_exespace_impl( "Kokkos::is_sorted_until_iterator_api_default", ex, first, last); } -template +template < + typename ExecutionSpace, typename IteratorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType is_sorted_until(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last) { - return Impl::is_sorted_until_impl(label, ex, first, last); + return Impl::is_sorted_until_exespace_impl(label, ex, first, last); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto is_sorted_until(const ExecutionSpace& ex, const ::Kokkos::View& view) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); namespace KE = ::Kokkos::Experimental; - return Impl::is_sorted_until_impl("Kokkos::is_sorted_until_view_api_default", - ex, KE::begin(view), KE::end(view)); + return Impl::is_sorted_until_exespace_impl( + "Kokkos::is_sorted_until_view_api_default", ex, KE::begin(view), + KE::end(view)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto is_sorted_until(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); namespace KE = ::Kokkos::Experimental; - return Impl::is_sorted_until_impl(label, ex, KE::begin(view), KE::end(view)); + return Impl::is_sorted_until_exespace_impl(label, ex, KE::begin(view), + KE::end(view)); } -template +template < + typename ExecutionSpace, typename IteratorType, typename ComparatorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType is_sorted_until(const ExecutionSpace& ex, IteratorType first, IteratorType last, ComparatorType comp) { Impl::static_assert_is_not_openmptarget(ex); - return Impl::is_sorted_until_impl( + return Impl::is_sorted_until_exespace_impl( "Kokkos::is_sorted_until_iterator_api_default", ex, first, last, std::move(comp)); } -template +template < + typename ExecutionSpace, typename IteratorType, typename ComparatorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType is_sorted_until(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, ComparatorType comp) { Impl::static_assert_is_not_openmptarget(ex); - return Impl::is_sorted_until_impl(label, ex, first, last, std::move(comp)); + return Impl::is_sorted_until_exespace_impl(label, ex, first, last, + std::move(comp)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename ComparatorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto is_sorted_until(const ExecutionSpace& ex, const ::Kokkos::View& view, ComparatorType comp) { @@ -82,13 +102,15 @@ auto is_sorted_until(const ExecutionSpace& ex, Impl::static_assert_is_not_openmptarget(ex); namespace KE = ::Kokkos::Experimental; - return Impl::is_sorted_until_impl("Kokkos::is_sorted_until_view_api_default", - ex, KE::begin(view), KE::end(view), - std::move(comp)); + return Impl::is_sorted_until_exespace_impl( + "Kokkos::is_sorted_until_view_api_default", ex, KE::begin(view), + KE::end(view), std::move(comp)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename ComparatorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto is_sorted_until(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, ComparatorType comp) { @@ -96,8 +118,57 @@ auto is_sorted_until(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_not_openmptarget(ex); namespace KE = ::Kokkos::Experimental; - return Impl::is_sorted_until_impl(label, ex, KE::begin(view), KE::end(view), - std::move(comp)); + return Impl::is_sorted_until_exespace_impl(label, ex, KE::begin(view), + KE::end(view), std::move(comp)); +} + +// +// overload set accepting team handle +// +template , int> = 0> +KOKKOS_FUNCTION IteratorType is_sorted_until(const TeamHandleType& teamHandle, + IteratorType first, + IteratorType last) { + return Impl::is_sorted_until_team_impl(teamHandle, first, last); +} + +template , int> = 0> +KOKKOS_FUNCTION auto is_sorted_until( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + + namespace KE = ::Kokkos::Experimental; + return Impl::is_sorted_until_team_impl(teamHandle, KE::begin(view), + KE::end(view)); +} + +template , int> = 0> +KOKKOS_FUNCTION IteratorType is_sorted_until(const TeamHandleType& teamHandle, + IteratorType first, + IteratorType last, + ComparatorType comp) { + Impl::static_assert_is_not_openmptarget(teamHandle); + return Impl::is_sorted_until_team_impl(teamHandle, first, last, + std::move(comp)); +} + +template , int> = 0> +KOKKOS_FUNCTION auto is_sorted_until( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view, ComparatorType comp) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + Impl::static_assert_is_not_openmptarget(teamHandle); + + namespace KE = ::Kokkos::Experimental; + return Impl::is_sorted_until_team_impl(teamHandle, KE::begin(view), + KE::end(view), std::move(comp)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_LexicographicalCompare.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_LexicographicalCompare.hpp index 0a77ef629f..4b5c69df45 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_LexicographicalCompare.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_LexicographicalCompare.hpp @@ -23,25 +23,34 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + class ExecutionSpace, class IteratorType1, class IteratorType2, + std::enable_if_t, int> = 0> bool lexicographical_compare(const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, IteratorType2 first2, IteratorType2 last2) { - return Impl::lexicographical_compare_impl( + return Impl::lexicographical_compare_exespace_impl( "Kokkos::lexicographical_compare_iterator_api_default", ex, first1, last1, first2, last2); } -template +template < + class ExecutionSpace, class IteratorType1, class IteratorType2, + std::enable_if_t, int> = 0> bool lexicographical_compare(const std::string& label, const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, IteratorType2 first2, IteratorType2 last2) { - return Impl::lexicographical_compare_impl(label, ex, first1, last1, first2, - last2); + return Impl::lexicographical_compare_exespace_impl(label, ex, first1, last1, + first2, last2); } -template +template < + class ExecutionSpace, class DataType1, class... Properties1, + class DataType2, class... Properties2, + std::enable_if_t, int> = 0> bool lexicographical_compare( const ExecutionSpace& ex, const ::Kokkos::View& view1, @@ -50,13 +59,15 @@ bool lexicographical_compare( Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); namespace KE = ::Kokkos::Experimental; - return Impl::lexicographical_compare_impl( + return Impl::lexicographical_compare_exespace_impl( "Kokkos::lexicographical_compare_view_api_default", ex, KE::cbegin(view1), KE::cend(view1), KE::cbegin(view2), KE::cend(view2)); } -template +template < + class ExecutionSpace, class DataType1, class... Properties1, + class DataType2, class... Properties2, + std::enable_if_t, int> = 0> bool lexicographical_compare( const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view1, @@ -65,33 +76,39 @@ bool lexicographical_compare( Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); namespace KE = ::Kokkos::Experimental; - return Impl::lexicographical_compare_impl(label, ex, KE::cbegin(view1), - KE::cend(view1), KE::cbegin(view2), - KE::cend(view2)); + return Impl::lexicographical_compare_exespace_impl( + label, ex, KE::cbegin(view1), KE::cend(view1), KE::cbegin(view2), + KE::cend(view2)); } -template +template < + class ExecutionSpace, class IteratorType1, class IteratorType2, + class ComparatorType, + std::enable_if_t, int> = 0> bool lexicographical_compare(const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, IteratorType2 first2, IteratorType2 last2, ComparatorType comp) { - return Impl::lexicographical_compare_impl( + return Impl::lexicographical_compare_exespace_impl( "Kokkos::lexicographical_compare_iterator_api_default", ex, first1, last1, first2, last2, comp); } -template +template < + class ExecutionSpace, class IteratorType1, class IteratorType2, + class ComparatorType, + std::enable_if_t, int> = 0> bool lexicographical_compare(const std::string& label, const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, IteratorType2 first2, IteratorType2 last2, ComparatorType comp) { - return Impl::lexicographical_compare_impl(label, ex, first1, last1, first2, - last2, comp); + return Impl::lexicographical_compare_exespace_impl(label, ex, first1, last1, + first2, last2, comp); } -template +template < + class ExecutionSpace, class DataType1, class... Properties1, + class DataType2, class... Properties2, class ComparatorType, + std::enable_if_t, int> = 0> bool lexicographical_compare( const ExecutionSpace& ex, const ::Kokkos::View& view1, @@ -100,13 +117,15 @@ bool lexicographical_compare( Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); namespace KE = ::Kokkos::Experimental; - return Impl::lexicographical_compare_impl( + return Impl::lexicographical_compare_exespace_impl( "Kokkos::lexicographical_compare_view_api_default", ex, KE::cbegin(view1), KE::cend(view1), KE::cbegin(view2), KE::cend(view2), comp); } -template +template < + class ExecutionSpace, class DataType1, class... Properties1, + class DataType2, class... Properties2, class ComparatorType, + std::enable_if_t, int> = 0> bool lexicographical_compare( const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view1, @@ -115,9 +134,67 @@ bool lexicographical_compare( Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); namespace KE = ::Kokkos::Experimental; - return Impl::lexicographical_compare_impl(label, ex, KE::cbegin(view1), - KE::cend(view1), KE::cbegin(view2), - KE::cend(view2), comp); + return Impl::lexicographical_compare_exespace_impl( + label, ex, KE::cbegin(view1), KE::cend(view1), KE::cbegin(view2), + KE::cend(view2), comp); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION bool lexicographical_compare(const TeamHandleType& teamHandle, + IteratorType1 first1, + IteratorType1 last1, + IteratorType2 first2, + IteratorType2 last2) { + return Impl::lexicographical_compare_team_impl(teamHandle, first1, last1, + first2, last2); +} + +template , int> = 0> +KOKKOS_FUNCTION bool lexicographical_compare( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view1, + ::Kokkos::View& view2) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); + + namespace KE = ::Kokkos::Experimental; + return Impl::lexicographical_compare_team_impl( + teamHandle, KE::cbegin(view1), KE::cend(view1), KE::cbegin(view2), + KE::cend(view2)); +} + +template , int> = 0> +KOKKOS_FUNCTION bool lexicographical_compare( + const TeamHandleType& teamHandle, IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2, IteratorType2 last2, ComparatorType comp) { + return Impl::lexicographical_compare_team_impl(teamHandle, first1, last1, + first2, last2, comp); +} + +template , int> = 0> +KOKKOS_FUNCTION bool lexicographical_compare( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view1, + ::Kokkos::View& view2, ComparatorType comp) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); + + namespace KE = ::Kokkos::Experimental; + return Impl::lexicographical_compare_team_impl( + teamHandle, KE::cbegin(view1), KE::cend(view1), KE::cbegin(view2), + KE::cend(view2), comp); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MaxElement.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MaxElement.hpp index 2c1374f700..d16bac5bfc 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MaxElement.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MaxElement.hpp @@ -23,81 +23,148 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename IteratorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto max_element(const ExecutionSpace& ex, IteratorType first, IteratorType last) { - return Impl::min_or_max_element_impl( + return Impl::min_or_max_element_exespace_impl( "Kokkos::max_element_iterator_api_default", ex, first, last); } -template +template < + typename ExecutionSpace, typename IteratorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto max_element(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last) { - return Impl::min_or_max_element_impl(label, ex, first, last); + return Impl::min_or_max_element_exespace_impl(label, ex, first, + last); } -template +template < + typename ExecutionSpace, typename IteratorType, typename ComparatorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto max_element(const ExecutionSpace& ex, IteratorType first, IteratorType last, ComparatorType comp) { Impl::static_assert_is_not_openmptarget(ex); - return Impl::min_or_max_element_impl( + return Impl::min_or_max_element_exespace_impl( "Kokkos::max_element_iterator_api_default", ex, first, last, std::move(comp)); } -template +template < + typename ExecutionSpace, typename IteratorType, typename ComparatorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto max_element(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, ComparatorType comp) { Impl::static_assert_is_not_openmptarget(ex); - return Impl::min_or_max_element_impl( + return Impl::min_or_max_element_exespace_impl( label, ex, first, last, std::move(comp)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto max_element(const ExecutionSpace& ex, const ::Kokkos::View& v) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); - return Impl::min_or_max_element_impl( + return Impl::min_or_max_element_exespace_impl( "Kokkos::max_element_view_api_default", ex, begin(v), end(v)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto max_element(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& v) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); - return Impl::min_or_max_element_impl(label, ex, begin(v), - end(v)); + return Impl::min_or_max_element_exespace_impl(label, ex, + begin(v), end(v)); } -template +template < + typename ExecutionSpace, typename DataType, typename ComparatorType, + typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto max_element(const ExecutionSpace& ex, const ::Kokkos::View& v, ComparatorType comp) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); Impl::static_assert_is_not_openmptarget(ex); - return Impl::min_or_max_element_impl( + return Impl::min_or_max_element_exespace_impl( "Kokkos::max_element_view_api_default", ex, begin(v), end(v), std::move(comp)); } -template +template < + typename ExecutionSpace, typename DataType, typename ComparatorType, + typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto max_element(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& v, ComparatorType comp) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); Impl::static_assert_is_not_openmptarget(ex); - return Impl::min_or_max_element_impl( + return Impl::min_or_max_element_exespace_impl( label, ex, begin(v), end(v), std::move(comp)); } +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION auto max_element(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last) { + return Impl::min_or_max_element_team_impl(teamHandle, first, + last); +} + +template , int> = 0> +KOKKOS_FUNCTION auto max_element( + const TeamHandleType& teamHandle, + const ::Kokkos::View& v) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); + + return Impl::min_or_max_element_team_impl(teamHandle, begin(v), + end(v)); +} + +template , int> = 0> +KOKKOS_FUNCTION auto max_element(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last, + ComparatorType comp) { + Impl::static_assert_is_not_openmptarget(teamHandle); + return Impl::min_or_max_element_team_impl( + teamHandle, first, last, std::move(comp)); +} + +template , int> = 0> +KOKKOS_FUNCTION auto max_element( + const TeamHandleType& teamHandle, + const ::Kokkos::View& v, ComparatorType comp) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); + Impl::static_assert_is_not_openmptarget(teamHandle); + return Impl::min_or_max_element_team_impl( + teamHandle, begin(v), end(v), std::move(comp)); +} + } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MinElement.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MinElement.hpp index 1d03b7c962..2a53fce3e2 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MinElement.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MinElement.hpp @@ -23,81 +23,148 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename IteratorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto min_element(const ExecutionSpace& ex, IteratorType first, IteratorType last) { - return Impl::min_or_max_element_impl( + return Impl::min_or_max_element_exespace_impl( "Kokkos::min_element_iterator_api_default", ex, first, last); } -template +template < + typename ExecutionSpace, typename IteratorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto min_element(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last) { - return Impl::min_or_max_element_impl(label, ex, first, last); + return Impl::min_or_max_element_exespace_impl(label, ex, first, + last); } -template +template < + typename ExecutionSpace, typename IteratorType, typename ComparatorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto min_element(const ExecutionSpace& ex, IteratorType first, IteratorType last, ComparatorType comp) { Impl::static_assert_is_not_openmptarget(ex); - return Impl::min_or_max_element_impl( + return Impl::min_or_max_element_exespace_impl( "Kokkos::min_element_iterator_api_default", ex, first, last, std::move(comp)); } -template +template < + typename ExecutionSpace, typename IteratorType, typename ComparatorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto min_element(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, ComparatorType comp) { Impl::static_assert_is_not_openmptarget(ex); - return Impl::min_or_max_element_impl( + return Impl::min_or_max_element_exespace_impl( label, ex, first, last, std::move(comp)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto min_element(const ExecutionSpace& ex, const ::Kokkos::View& v) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); - return Impl::min_or_max_element_impl( + return Impl::min_or_max_element_exespace_impl( "Kokkos::min_element_view_api_default", ex, begin(v), end(v)); } -template +template < + typename ExecutionSpace, typename DataType, typename ComparatorType, + typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto min_element(const ExecutionSpace& ex, const ::Kokkos::View& v, ComparatorType comp) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); Impl::static_assert_is_not_openmptarget(ex); - return Impl::min_or_max_element_impl( + return Impl::min_or_max_element_exespace_impl( "Kokkos::min_element_view_api_default", ex, begin(v), end(v), std::move(comp)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto min_element(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& v) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); - return Impl::min_or_max_element_impl(label, ex, begin(v), - end(v)); + return Impl::min_or_max_element_exespace_impl(label, ex, + begin(v), end(v)); } -template +template < + typename ExecutionSpace, typename DataType, typename ComparatorType, + typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto min_element(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& v, ComparatorType comp) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); Impl::static_assert_is_not_openmptarget(ex); - return Impl::min_or_max_element_impl( + return Impl::min_or_max_element_exespace_impl( label, ex, begin(v), end(v), std::move(comp)); } +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION auto min_element(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last) { + return Impl::min_or_max_element_team_impl(teamHandle, first, + last); +} + +template , int> = 0> +KOKKOS_FUNCTION auto min_element( + const TeamHandleType& teamHandle, + const ::Kokkos::View& v) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); + + return Impl::min_or_max_element_team_impl(teamHandle, begin(v), + end(v)); +} + +template , int> = 0> +KOKKOS_FUNCTION auto min_element(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last, + ComparatorType comp) { + Impl::static_assert_is_not_openmptarget(teamHandle); + return Impl::min_or_max_element_team_impl( + teamHandle, first, last, std::move(comp)); +} + +template , int> = 0> +KOKKOS_FUNCTION auto min_element( + const TeamHandleType& teamHandle, + const ::Kokkos::View& v, ComparatorType comp) { + Impl::static_assert_is_not_openmptarget(teamHandle); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); + return Impl::min_or_max_element_team_impl( + teamHandle, begin(v), end(v), std::move(comp)); +} + } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MinMaxElement.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MinMaxElement.hpp index d481b499cc..c3a1f73ef6 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MinMaxElement.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MinMaxElement.hpp @@ -23,82 +23,151 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename IteratorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto minmax_element(const ExecutionSpace& ex, IteratorType first, IteratorType last) { - return Impl::minmax_element_impl( + return Impl::minmax_element_exespace_impl( "Kokkos::minmax_element_iterator_api_default", ex, first, last); } -template +template < + typename ExecutionSpace, typename IteratorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto minmax_element(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last) { - return Impl::minmax_element_impl(label, ex, first, last); + return Impl::minmax_element_exespace_impl(label, ex, + first, last); } -template +template < + typename ExecutionSpace, typename IteratorType, typename ComparatorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto minmax_element(const ExecutionSpace& ex, IteratorType first, IteratorType last, ComparatorType comp) { Impl::static_assert_is_not_openmptarget(ex); - return Impl::minmax_element_impl( + return Impl::minmax_element_exespace_impl( "Kokkos::minmax_element_iterator_api_default", ex, first, last, std::move(comp)); } -template +template < + typename ExecutionSpace, typename IteratorType, typename ComparatorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto minmax_element(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, ComparatorType comp) { Impl::static_assert_is_not_openmptarget(ex); - return Impl::minmax_element_impl( + return Impl::minmax_element_exespace_impl( label, ex, first, last, std::move(comp)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto minmax_element(const ExecutionSpace& ex, const ::Kokkos::View& v) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); - return Impl::minmax_element_impl( + return Impl::minmax_element_exespace_impl( "Kokkos::minmax_element_view_api_default", ex, begin(v), end(v)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto minmax_element(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& v) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); - return Impl::minmax_element_impl(label, ex, begin(v), - end(v)); + return Impl::minmax_element_exespace_impl( + label, ex, begin(v), end(v)); } -template +template < + typename ExecutionSpace, typename DataType, typename ComparatorType, + typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto minmax_element(const ExecutionSpace& ex, const ::Kokkos::View& v, ComparatorType comp) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); Impl::static_assert_is_not_openmptarget(ex); - return Impl::minmax_element_impl( + return Impl::minmax_element_exespace_impl( "Kokkos::minmax_element_view_api_default", ex, begin(v), end(v), std::move(comp)); } -template +template < + typename ExecutionSpace, typename DataType, typename ComparatorType, + typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto minmax_element(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& v, ComparatorType comp) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); Impl::static_assert_is_not_openmptarget(ex); - return Impl::minmax_element_impl( + return Impl::minmax_element_exespace_impl( label, ex, begin(v), end(v), std::move(comp)); } +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION auto minmax_element(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last) { + return Impl::minmax_element_team_impl(teamHandle, first, + last); +} + +template , int> = 0> +KOKKOS_FUNCTION auto minmax_element(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last, + ComparatorType comp) { + Impl::static_assert_is_not_openmptarget(teamHandle); + + return Impl::minmax_element_team_impl( + teamHandle, first, last, std::move(comp)); +} + +template , int> = 0> +KOKKOS_FUNCTION auto minmax_element( + const TeamHandleType& teamHandle, + const ::Kokkos::View& v) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); + + return Impl::minmax_element_team_impl(teamHandle, + begin(v), end(v)); +} + +template , int> = 0> +KOKKOS_FUNCTION auto minmax_element( + const TeamHandleType& teamHandle, + const ::Kokkos::View& v, ComparatorType comp) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); + Impl::static_assert_is_not_openmptarget(teamHandle); + + return Impl::minmax_element_team_impl( + teamHandle, begin(v), end(v), std::move(comp)); +} + } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Mismatch.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Mismatch.hpp index 13c994ca90..090afe69e3 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Mismatch.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Mismatch.hpp @@ -30,46 +30,60 @@ namespace Experimental { // // makes API ambiguous (with the overload accepting views). -template +// +// overload set accepting execution space +// +template < + class ExecutionSpace, class IteratorType1, class IteratorType2, + std::enable_if_t, int> = 0> ::Kokkos::pair mismatch(const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, IteratorType2 first2, IteratorType2 last2) { - return Impl::mismatch_impl("Kokkos::mismatch_iterator_api_default", ex, - first1, last1, first2, last2); + return Impl::mismatch_exespace_impl("Kokkos::mismatch_iterator_api_default", + ex, first1, last1, first2, last2); } -template +template < + class ExecutionSpace, class IteratorType1, class IteratorType2, + class BinaryPredicateType, + std::enable_if_t, int> = 0> ::Kokkos::pair mismatch( const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, IteratorType2 first2, IteratorType2 last2, BinaryPredicateType&& predicate) { - return Impl::mismatch_impl("Kokkos::mismatch_iterator_api_default", ex, - first1, last1, first2, last2, - std::forward(predicate)); + return Impl::mismatch_exespace_impl( + "Kokkos::mismatch_iterator_api_default", ex, first1, last1, first2, last2, + std::forward(predicate)); } -template +template < + class ExecutionSpace, class IteratorType1, class IteratorType2, + std::enable_if_t, int> = 0> ::Kokkos::pair mismatch( const std::string& label, const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, IteratorType2 first2, IteratorType2 last2) { - return Impl::mismatch_impl(label, ex, first1, last1, first2, last2); + return Impl::mismatch_exespace_impl(label, ex, first1, last1, first2, last2); } -template +template < + class ExecutionSpace, class IteratorType1, class IteratorType2, + class BinaryPredicateType, + std::enable_if_t, int> = 0> ::Kokkos::pair mismatch( const std::string& label, const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, IteratorType2 first2, IteratorType2 last2, BinaryPredicateType&& predicate) { - return Impl::mismatch_impl(label, ex, first1, last1, first2, last2, - std::forward(predicate)); + return Impl::mismatch_exespace_impl( + label, ex, first1, last1, first2, last2, + std::forward(predicate)); } -template +template < + class ExecutionSpace, class DataType1, class... Properties1, + class DataType2, class... Properties2, + std::enable_if_t, int> = 0> auto mismatch(const ExecutionSpace& ex, const ::Kokkos::View& view1, const ::Kokkos::View& view2) { @@ -77,13 +91,15 @@ auto mismatch(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); namespace KE = ::Kokkos::Experimental; - return Impl::mismatch_impl("Kokkos::mismatch_view_api_default", ex, - KE::begin(view1), KE::end(view1), KE::begin(view2), - KE::end(view2)); + return Impl::mismatch_exespace_impl("Kokkos::mismatch_view_api_default", ex, + KE::begin(view1), KE::end(view1), + KE::begin(view2), KE::end(view2)); } -template +template < + class ExecutionSpace, class DataType1, class... Properties1, + class DataType2, class... Properties2, class BinaryPredicateType, + std::enable_if_t, int> = 0> auto mismatch(const ExecutionSpace& ex, const ::Kokkos::View& view1, const ::Kokkos::View& view2, @@ -92,14 +108,16 @@ auto mismatch(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); namespace KE = ::Kokkos::Experimental; - return Impl::mismatch_impl("Kokkos::mismatch_view_api_default", ex, - KE::begin(view1), KE::end(view1), KE::begin(view2), - KE::end(view2), - std::forward(predicate)); + return Impl::mismatch_exespace_impl( + "Kokkos::mismatch_view_api_default", ex, KE::begin(view1), KE::end(view1), + KE::begin(view2), KE::end(view2), + std::forward(predicate)); } -template +template < + class ExecutionSpace, class DataType1, class... Properties1, + class DataType2, class... Properties2, + std::enable_if_t, int> = 0> auto mismatch(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view1, const ::Kokkos::View& view2) { @@ -107,12 +125,15 @@ auto mismatch(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); namespace KE = ::Kokkos::Experimental; - return Impl::mismatch_impl(label, ex, KE::begin(view1), KE::end(view1), - KE::begin(view2), KE::end(view2)); + return Impl::mismatch_exespace_impl(label, ex, KE::begin(view1), + KE::end(view1), KE::begin(view2), + KE::end(view2)); } -template +template < + class ExecutionSpace, class DataType1, class... Properties1, + class DataType2, class... Properties2, class BinaryPredicateType, + std::enable_if_t, int> = 0> auto mismatch(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view1, const ::Kokkos::View& view2, @@ -121,9 +142,65 @@ auto mismatch(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); namespace KE = ::Kokkos::Experimental; - return Impl::mismatch_impl(label, ex, KE::begin(view1), KE::end(view1), - KE::begin(view2), KE::end(view2), - std::forward(predicate)); + return Impl::mismatch_exespace_impl( + label, ex, KE::begin(view1), KE::end(view1), KE::begin(view2), + KE::end(view2), std::forward(predicate)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION ::Kokkos::pair mismatch( + const TeamHandleType& teamHandle, IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2, IteratorType2 last2) { + return Impl::mismatch_team_impl(teamHandle, first1, last1, first2, last2); +} + +template , int> = 0> +KOKKOS_FUNCTION ::Kokkos::pair mismatch( + const TeamHandleType& teamHandle, IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2, IteratorType2 last2, + BinaryPredicateType&& predicate) { + return Impl::mismatch_team_impl(teamHandle, first1, last1, first2, last2, + std::forward(predicate)); +} + +template , int> = 0> +KOKKOS_FUNCTION auto mismatch( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view1, + const ::Kokkos::View& view2) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); + + namespace KE = ::Kokkos::Experimental; + return Impl::mismatch_team_impl(teamHandle, KE::begin(view1), KE::end(view1), + KE::begin(view2), KE::end(view2)); +} + +template , int> = 0> +KOKKOS_FUNCTION auto mismatch( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view1, + const ::Kokkos::View& view2, + BinaryPredicateType&& predicate) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); + + namespace KE = ::Kokkos::Experimental; + return Impl::mismatch_team_impl(teamHandle, KE::begin(view1), KE::end(view1), + KE::begin(view2), KE::end(view2), + std::forward(predicate)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Move.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Move.hpp index d49acd9f70..f04ea12ba8 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Move.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Move.hpp @@ -23,41 +23,81 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator move(const ExecutionSpace& ex, InputIterator first, InputIterator last, OutputIterator d_first) { - return Impl::move_impl("Kokkos::move_iterator_api_default", ex, first, last, - d_first); + return Impl::move_exespace_impl("Kokkos::move_iterator_api_default", ex, + first, last, d_first); } -template +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator move(const std::string& label, const ExecutionSpace& ex, InputIterator first, InputIterator last, OutputIterator d_first) { - return Impl::move_impl(label, ex, first, last, d_first); + return Impl::move_exespace_impl(label, ex, first, last, d_first); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto move(const ExecutionSpace& ex, const ::Kokkos::View& source, ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); - return Impl::move_impl("Kokkos::move_view_api_default", ex, begin(source), - end(source), begin(dest)); + return Impl::move_exespace_impl("Kokkos::move_view_api_default", ex, + begin(source), end(source), begin(dest)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto move(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); - return Impl::move_impl(label, ex, begin(source), end(source), begin(dest)); + return Impl::move_exespace_impl(label, ex, begin(source), end(source), + begin(dest)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION OutputIterator move(const TeamHandleType& teamHandle, + InputIterator first, InputIterator last, + OutputIterator d_first) { + return Impl::move_team_impl(teamHandle, first, last, d_first); +} + +template , int> = 0> +KOKKOS_FUNCTION auto move( + const TeamHandleType& teamHandle, + const ::Kokkos::View& source, + ::Kokkos::View& dest) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); + + return Impl::move_team_impl(teamHandle, begin(source), end(source), + begin(dest)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MoveBackward.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MoveBackward.hpp index 60d50fa881..375474ca57 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MoveBackward.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MoveBackward.hpp @@ -23,42 +23,83 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename IteratorType1, typename IteratorType2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType2 move_backward(const ExecutionSpace& ex, IteratorType1 first, IteratorType1 last, IteratorType2 d_last) { - return Impl::move_backward_impl("Kokkos::move_backward_iterator_api_default", - ex, first, last, d_last); + return Impl::move_backward_exespace_impl( + "Kokkos::move_backward_iterator_api_default", ex, first, last, d_last); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto move_backward(const ExecutionSpace& ex, const ::Kokkos::View& source, ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); - return Impl::move_backward_impl("Kokkos::move_backward_view_api_default", ex, - begin(source), end(source), end(dest)); + return Impl::move_backward_exespace_impl( + "Kokkos::move_backward_view_api_default", ex, begin(source), end(source), + end(dest)); } -template +template < + typename ExecutionSpace, typename IteratorType1, typename IteratorType2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType2 move_backward(const std::string& label, const ExecutionSpace& ex, IteratorType1 first, IteratorType1 last, IteratorType2 d_last) { - return Impl::move_backward_impl(label, ex, first, last, d_last); + return Impl::move_backward_exespace_impl(label, ex, first, last, d_last); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto move_backward(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); - return Impl::move_backward_impl(label, ex, begin(source), end(source), - end(dest)); + return Impl::move_backward_exespace_impl(label, ex, begin(source), + end(source), end(dest)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION IteratorType2 move_backward(const TeamHandleType& teamHandle, + IteratorType1 first, + IteratorType1 last, + IteratorType2 d_last) { + return Impl::move_backward_team_impl(teamHandle, first, last, d_last); +} + +template , int> = 0> +KOKKOS_FUNCTION auto move_backward( + const TeamHandleType& teamHandle, + const ::Kokkos::View& source, + ::Kokkos::View& dest) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); + + return Impl::move_backward_team_impl(teamHandle, begin(source), end(source), + end(dest)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_NoneOf.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_NoneOf.hpp index cf5de3b72b..f7baab3fc0 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_NoneOf.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_NoneOf.hpp @@ -23,41 +23,80 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename IteratorType, typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool none_of(const ExecutionSpace& ex, IteratorType first, IteratorType last, Predicate predicate) { - return Impl::none_of_impl("Kokkos::none_of_iterator_api_default", ex, first, - last, predicate); + return Impl::none_of_exespace_impl("Kokkos::none_of_iterator_api_default", ex, + first, last, predicate); } -template +template < + typename ExecutionSpace, typename IteratorType, typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool none_of(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, Predicate predicate) { - return Impl::none_of_impl(label, ex, first, last, predicate); + return Impl::none_of_exespace_impl(label, ex, first, last, predicate); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool none_of(const ExecutionSpace& ex, const ::Kokkos::View& v, Predicate predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::none_of_impl("Kokkos::none_of_view_api_default", ex, - KE::cbegin(v), KE::cend(v), std::move(predicate)); + return Impl::none_of_exespace_impl("Kokkos::none_of_view_api_default", ex, + KE::cbegin(v), KE::cend(v), + std::move(predicate)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename Predicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool none_of(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& v, Predicate predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); namespace KE = ::Kokkos::Experimental; - return Impl::none_of_impl(label, ex, KE::cbegin(v), KE::cend(v), - std::move(predicate)); + return Impl::none_of_exespace_impl(label, ex, KE::cbegin(v), KE::cend(v), + std::move(predicate)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template +KOKKOS_FUNCTION + std::enable_if_t<::Kokkos::is_team_handle::value, bool> + none_of(const TeamHandleType& teamHandle, IteratorType first, + IteratorType last, Predicate predicate) { + return Impl::none_of_team_impl(teamHandle, first, last, predicate); +} + +template +KOKKOS_FUNCTION + std::enable_if_t<::Kokkos::is_team_handle::value, bool> + none_of(const TeamHandleType& teamHandle, + const ::Kokkos::View& v, + Predicate predicate) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); + + namespace KE = ::Kokkos::Experimental; + return Impl::none_of_team_impl(teamHandle, KE::cbegin(v), KE::cend(v), + std::move(predicate)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_PartitionCopy.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_PartitionCopy.hpp index 38c0a35b62..a1feee8d6d 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_PartitionCopy.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_PartitionCopy.hpp @@ -23,57 +23,103 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename InputIteratorType, + typename OutputIteratorTrueType, typename OutputIteratorFalseType, + typename PredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> ::Kokkos::pair partition_copy( const ExecutionSpace& ex, InputIteratorType from_first, InputIteratorType from_last, OutputIteratorTrueType to_first_true, OutputIteratorFalseType to_first_false, PredicateType p) { - return Impl::partition_copy_impl( + return Impl::partition_copy_exespace_impl( "Kokkos::partition_copy_iterator_api_default", ex, from_first, from_last, to_first_true, to_first_false, std::move(p)); } -template +template < + typename ExecutionSpace, typename InputIteratorType, + typename OutputIteratorTrueType, typename OutputIteratorFalseType, + typename PredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> ::Kokkos::pair partition_copy( const std::string& label, const ExecutionSpace& ex, InputIteratorType from_first, InputIteratorType from_last, OutputIteratorTrueType to_first_true, OutputIteratorFalseType to_first_false, PredicateType p) { - return Impl::partition_copy_impl(label, ex, from_first, from_last, - to_first_true, to_first_false, std::move(p)); + return Impl::partition_copy_exespace_impl(label, ex, from_first, from_last, + to_first_true, to_first_false, + std::move(p)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename DataType3, + typename... Properties3, typename PredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto partition_copy( const ExecutionSpace& ex, const ::Kokkos::View& view_from, const ::Kokkos::View& view_dest_true, const ::Kokkos::View& view_dest_false, PredicateType p) { - return Impl::partition_copy_impl("Kokkos::partition_copy_view_api_default", - ex, cbegin(view_from), cend(view_from), - begin(view_dest_true), - begin(view_dest_false), std::move(p)); + return Impl::partition_copy_exespace_impl( + "Kokkos::partition_copy_view_api_default", ex, cbegin(view_from), + cend(view_from), begin(view_dest_true), begin(view_dest_false), + std::move(p)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename DataType3, + typename... Properties3, typename PredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto partition_copy( const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view_from, const ::Kokkos::View& view_dest_true, const ::Kokkos::View& view_dest_false, PredicateType p) { - return Impl::partition_copy_impl(label, ex, cbegin(view_from), - cend(view_from), begin(view_dest_true), - begin(view_dest_false), std::move(p)); + return Impl::partition_copy_exespace_impl( + label, ex, cbegin(view_from), cend(view_from), begin(view_dest_true), + begin(view_dest_false), std::move(p)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION ::Kokkos::pair +partition_copy(const TeamHandleType& teamHandle, InputIteratorType from_first, + InputIteratorType from_last, + OutputIteratorTrueType to_first_true, + OutputIteratorFalseType to_first_false, PredicateType p) { + return Impl::partition_copy_team_impl(teamHandle, from_first, from_last, + to_first_true, to_first_false, + std::move(p)); +} + +template , int> = 0> +KOKKOS_FUNCTION auto partition_copy( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view_from, + const ::Kokkos::View& view_dest_true, + const ::Kokkos::View& view_dest_false, + PredicateType p) { + return Impl::partition_copy_team_impl(teamHandle, cbegin(view_from), + cend(view_from), begin(view_dest_true), + begin(view_dest_false), std::move(p)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_PartitionPoint.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_PartitionPoint.hpp index 24798e377e..60cbeeda87 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_PartitionPoint.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_PartitionPoint.hpp @@ -23,38 +23,78 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename IteratorType, typename UnaryPredicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType partition_point(const ExecutionSpace& ex, IteratorType first, IteratorType last, UnaryPredicate p) { - return Impl::partition_point_impl( + return Impl::partition_point_exespace_impl( "Kokkos::partitioned_point_iterator_api_default", ex, first, last, std::move(p)); } -template +template < + typename ExecutionSpace, typename IteratorType, typename UnaryPredicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType partition_point(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, UnaryPredicate p) { - return Impl::partition_point_impl(label, ex, first, last, std::move(p)); + return Impl::partition_point_exespace_impl(label, ex, first, last, + std::move(p)); } -template +template < + typename ExecutionSpace, typename UnaryPredicate, typename DataType, + typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto partition_point(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& v, UnaryPredicate p) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); - return Impl::partition_point_impl(label, ex, begin(v), end(v), std::move(p)); + return Impl::partition_point_exespace_impl(label, ex, begin(v), end(v), + std::move(p)); } -template +template < + typename ExecutionSpace, typename UnaryPredicate, typename DataType, + typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto partition_point(const ExecutionSpace& ex, const ::Kokkos::View& v, UnaryPredicate p) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); - return Impl::partition_point_impl("Kokkos::partition_point_view_api_default", - ex, begin(v), end(v), std::move(p)); + return Impl::partition_point_exespace_impl( + "Kokkos::partition_point_view_api_default", ex, begin(v), end(v), + std::move(p)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION IteratorType partition_point(const TeamHandleType& teamHandle, + IteratorType first, + IteratorType last, + UnaryPredicate p) { + return Impl::partition_point_team_impl(teamHandle, first, last, std::move(p)); +} + +template , int> = 0> +KOKKOS_FUNCTION auto partition_point( + const TeamHandleType& teamHandle, + const ::Kokkos::View& v, UnaryPredicate p) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(v); + return Impl::partition_point_team_impl(teamHandle, begin(v), end(v), + std::move(p)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Reduce.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Reduce.hpp index a31fa1497a..b84f00f8bb 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Reduce.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Reduce.hpp @@ -23,28 +23,38 @@ namespace Kokkos { namespace Experimental { +// +// overload set accepting execution space +// + // // overload set 1 // -template +template ::value, + int> = 0> typename IteratorType::value_type reduce(const ExecutionSpace& ex, IteratorType first, IteratorType last) { - return Impl::reduce_default_functors_impl( + return Impl::reduce_default_functors_exespace_impl( "Kokkos::reduce_default_functors_iterator_api", ex, first, last, typename IteratorType::value_type()); } -template +template ::value, + int> = 0> typename IteratorType::value_type reduce(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last) { - return Impl::reduce_default_functors_impl( + return Impl::reduce_default_functors_exespace_impl( label, ex, first, last, typename IteratorType::value_type()); } -template +template ::value, + int> = 0> auto reduce(const ExecutionSpace& ex, const ::Kokkos::View& view) { namespace KE = ::Kokkos::Experimental; @@ -53,12 +63,14 @@ auto reduce(const ExecutionSpace& ex, using view_type = ::Kokkos::View; using value_type = typename view_type::value_type; - return Impl::reduce_default_functors_impl( + return Impl::reduce_default_functors_exespace_impl( "Kokkos::reduce_default_functors_view_api", ex, KE::cbegin(view), KE::cend(view), value_type()); } -template +template ::value, + int> = 0> auto reduce(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view) { namespace KE = ::Kokkos::Experimental; @@ -67,37 +79,43 @@ auto reduce(const std::string& label, const ExecutionSpace& ex, using view_type = ::Kokkos::View; using value_type = typename view_type::value_type; - return Impl::reduce_default_functors_impl(label, ex, KE::cbegin(view), - KE::cend(view), value_type()); + return Impl::reduce_default_functors_exespace_impl( + label, ex, KE::cbegin(view), KE::cend(view), value_type()); } // // overload set2: // -template +template ::value, + int> = 0> ValueType reduce(const ExecutionSpace& ex, IteratorType first, IteratorType last, ValueType init_reduction_value) { static_assert(std::is_move_constructible::value, "ValueType must be move constructible."); - return Impl::reduce_default_functors_impl( + return Impl::reduce_default_functors_exespace_impl( "Kokkos::reduce_default_functors_iterator_api", ex, first, last, init_reduction_value); } -template +template ::value, + int> = 0> ValueType reduce(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, ValueType init_reduction_value) { static_assert(std::is_move_constructible::value, "ValueType must be move constructible."); - return Impl::reduce_default_functors_impl(label, ex, first, last, - init_reduction_value); + return Impl::reduce_default_functors_exespace_impl(label, ex, first, last, + init_reduction_value); } -template +template ::value, + int> = 0> ValueType reduce(const ExecutionSpace& ex, const ::Kokkos::View& view, ValueType init_reduction_value) { @@ -107,13 +125,15 @@ ValueType reduce(const ExecutionSpace& ex, namespace KE = ::Kokkos::Experimental; Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::reduce_default_functors_impl( + return Impl::reduce_default_functors_exespace_impl( "Kokkos::reduce_default_functors_view_api", ex, KE::cbegin(view), KE::cend(view), init_reduction_value); } -template +template ::value, + int> = 0> ValueType reduce(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, ValueType init_reduction_value) { @@ -123,40 +143,46 @@ ValueType reduce(const std::string& label, const ExecutionSpace& ex, namespace KE = ::Kokkos::Experimental; Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::reduce_default_functors_impl( + return Impl::reduce_default_functors_exespace_impl( label, ex, KE::cbegin(view), KE::cend(view), init_reduction_value); } // // overload set 3 // -template +template ::value, + int> = 0> ValueType reduce(const ExecutionSpace& ex, IteratorType first, IteratorType last, ValueType init_reduction_value, BinaryOp joiner) { static_assert(std::is_move_constructible::value, "ValueType must be move constructible."); - return Impl::reduce_custom_functors_impl( + return Impl::reduce_custom_functors_exespace_impl( "Kokkos::reduce_default_functors_iterator_api", ex, first, last, init_reduction_value, joiner); } -template +template ::value, + int> = 0> ValueType reduce(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, ValueType init_reduction_value, BinaryOp joiner) { static_assert(std::is_move_constructible::value, "ValueType must be move constructible."); - return Impl::reduce_custom_functors_impl(label, ex, first, last, - init_reduction_value, joiner); + return Impl::reduce_custom_functors_exespace_impl( + label, ex, first, last, init_reduction_value, joiner); } -template +template ::value, + int> = 0> ValueType reduce(const ExecutionSpace& ex, const ::Kokkos::View& view, ValueType init_reduction_value, BinaryOp joiner) { @@ -166,13 +192,15 @@ ValueType reduce(const ExecutionSpace& ex, namespace KE = ::Kokkos::Experimental; Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::reduce_custom_functors_impl( + return Impl::reduce_custom_functors_exespace_impl( "Kokkos::reduce_custom_functors_view_api", ex, KE::cbegin(view), KE::cend(view), init_reduction_value, joiner); } -template +template ::value, + int> = 0> ValueType reduce(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, ValueType init_reduction_value, BinaryOp joiner) { @@ -182,9 +210,114 @@ ValueType reduce(const std::string& label, const ExecutionSpace& ex, namespace KE = ::Kokkos::Experimental; Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::reduce_custom_functors_impl(label, ex, KE::cbegin(view), - KE::cend(view), init_reduction_value, - joiner); + return Impl::reduce_custom_functors_exespace_impl( + label, ex, KE::cbegin(view), KE::cend(view), init_reduction_value, + joiner); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// + +// +// overload set 1 +// +template < + typename TeamHandleType, typename IteratorType, + std::enable_if_t<::Kokkos::is_team_handle::value, int> = 0> +KOKKOS_FUNCTION typename IteratorType::value_type reduce( + const TeamHandleType& teamHandle, IteratorType first, IteratorType last) { + return Impl::reduce_default_functors_team_impl( + teamHandle, first, last, typename IteratorType::value_type()); +} + +template < + typename TeamHandleType, typename DataType, typename... Properties, + std::enable_if_t<::Kokkos::is_team_handle::value, int> = 0> +KOKKOS_FUNCTION auto reduce( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view) { + namespace KE = ::Kokkos::Experimental; + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + + using view_type = ::Kokkos::View; + using value_type = typename view_type::value_type; + + return Impl::reduce_default_functors_team_impl(teamHandle, KE::cbegin(view), + KE::cend(view), value_type()); +} + +// +// overload set2: +// +template < + typename TeamHandleType, typename IteratorType, typename ValueType, + std::enable_if_t<::Kokkos::is_team_handle::value, int> = 0> +KOKKOS_FUNCTION ValueType reduce(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last, + ValueType init_reduction_value) { + static_assert(std::is_move_constructible::value, + "ValueType must be move constructible."); + + return Impl::reduce_default_functors_team_impl(teamHandle, first, last, + init_reduction_value); +} + +template < + typename TeamHandleType, typename DataType, typename... Properties, + typename ValueType, + std::enable_if_t<::Kokkos::is_team_handle::value, int> = 0> +KOKKOS_FUNCTION ValueType +reduce(const TeamHandleType& teamHandle, + const ::Kokkos::View& view, + ValueType init_reduction_value) { + static_assert(std::is_move_constructible::value, + "ValueType must be move constructible."); + + namespace KE = ::Kokkos::Experimental; + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + + return Impl::reduce_default_functors_team_impl( + teamHandle, KE::cbegin(view), KE::cend(view), init_reduction_value); +} + +// +// overload set 3 +// +template < + typename TeamHandleType, typename IteratorType, typename ValueType, + typename BinaryOp, + std::enable_if_t<::Kokkos::is_team_handle::value, int> = 0> +KOKKOS_FUNCTION ValueType reduce(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last, + ValueType init_reduction_value, + BinaryOp joiner) { + static_assert(std::is_move_constructible::value, + "ValueType must be move constructible."); + + return Impl::reduce_custom_functors_team_impl(teamHandle, first, last, + init_reduction_value, joiner); +} + +template < + typename TeamHandleType, typename DataType, typename... Properties, + typename ValueType, typename BinaryOp, + std::enable_if_t<::Kokkos::is_team_handle::value, int> = 0> +KOKKOS_FUNCTION ValueType +reduce(const TeamHandleType& teamHandle, + const ::Kokkos::View& view, + ValueType init_reduction_value, BinaryOp joiner) { + static_assert(std::is_move_constructible::value, + "ValueType must be move constructible."); + + namespace KE = ::Kokkos::Experimental; + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + + return Impl::reduce_custom_functors_team_impl(teamHandle, KE::cbegin(view), + KE::cend(view), + init_reduction_value, joiner); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Remove.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Remove.hpp index c8602d2f53..8a429d8d51 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Remove.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Remove.hpp @@ -23,38 +23,74 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename Iterator, typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> Iterator remove(const ExecutionSpace& ex, Iterator first, Iterator last, const ValueType& value) { - return Impl::remove_impl("Kokkos::remove_iterator_api_default", ex, first, - last, value); + return Impl::remove_exespace_impl("Kokkos::remove_iterator_api_default", ex, + first, last, value); } -template +template < + typename ExecutionSpace, typename Iterator, typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> Iterator remove(const std::string& label, const ExecutionSpace& ex, Iterator first, Iterator last, const ValueType& value) { - return Impl::remove_impl(label, ex, first, last, value); + return Impl::remove_exespace_impl(label, ex, first, last, value); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto remove(const ExecutionSpace& ex, const ::Kokkos::View& view, const ValueType& value) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::remove_impl("Kokkos::remove_iterator_api_default", ex, - ::Kokkos::Experimental::begin(view), - ::Kokkos::Experimental::end(view), value); + return Impl::remove_exespace_impl("Kokkos::remove_iterator_api_default", ex, + ::Kokkos::Experimental::begin(view), + ::Kokkos::Experimental::end(view), value); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto remove(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, const ValueType& value) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::remove_impl(label, ex, ::Kokkos::Experimental::begin(view), - ::Kokkos::Experimental::end(view), value); + return Impl::remove_exespace_impl(label, ex, + ::Kokkos::Experimental::begin(view), + ::Kokkos::Experimental::end(view), value); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION Iterator remove(const TeamHandleType& teamHandle, + Iterator first, Iterator last, + const ValueType& value) { + return Impl::remove_team_impl(teamHandle, first, last, value); +} + +template , int> = 0> +KOKKOS_FUNCTION auto remove(const TeamHandleType& teamHandle, + const ::Kokkos::View& view, + const ValueType& value) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + return Impl::remove_team_impl(teamHandle, ::Kokkos::Experimental::begin(view), + ::Kokkos::Experimental::end(view), value); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_RemoveCopy.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_RemoveCopy.hpp index c2c06f6202..4b8fa9fe07 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_RemoveCopy.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_RemoveCopy.hpp @@ -23,26 +23,36 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator remove_copy(const ExecutionSpace& ex, InputIterator first_from, InputIterator last_from, OutputIterator first_dest, const ValueType& value) { - return Impl::remove_copy_impl("Kokkos::remove_copy_iterator_api_default", ex, - first_from, last_from, first_dest, value); + return Impl::remove_copy_exespace_impl( + "Kokkos::remove_copy_iterator_api_default", ex, first_from, last_from, + first_dest, value); } -template +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator remove_copy(const std::string& label, const ExecutionSpace& ex, InputIterator first_from, InputIterator last_from, OutputIterator first_dest, const ValueType& value) { - return Impl::remove_copy_impl(label, ex, first_from, last_from, first_dest, - value); + return Impl::remove_copy_exespace_impl(label, ex, first_from, last_from, + first_dest, value); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto remove_copy(const ExecutionSpace& ex, const ::Kokkos::View& view_from, const ::Kokkos::View& view_dest, @@ -50,15 +60,17 @@ auto remove_copy(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); - return Impl::remove_copy_impl("Kokkos::remove_copy_iterator_api_default", ex, - ::Kokkos::Experimental::cbegin(view_from), - ::Kokkos::Experimental::cend(view_from), - ::Kokkos::Experimental::begin(view_dest), - value); + return Impl::remove_copy_exespace_impl( + "Kokkos::remove_copy_iterator_api_default", ex, + ::Kokkos::Experimental::cbegin(view_from), + ::Kokkos::Experimental::cend(view_from), + ::Kokkos::Experimental::begin(view_dest), value); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto remove_copy(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view_from, const ::Kokkos::View& view_dest, @@ -66,12 +78,46 @@ auto remove_copy(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); - return Impl::remove_copy_impl( + return Impl::remove_copy_exespace_impl( label, ex, ::Kokkos::Experimental::cbegin(view_from), ::Kokkos::Experimental::cend(view_from), ::Kokkos::Experimental::begin(view_dest), value); } +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION OutputIterator remove_copy(const TeamHandleType& teamHandle, + InputIterator first_from, + InputIterator last_from, + OutputIterator first_dest, + const ValueType& value) { + return Impl::remove_copy_team_impl(teamHandle, first_from, last_from, + first_dest, value); +} + +template , int> = 0> +KOKKOS_FUNCTION auto remove_copy( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view_from, + const ::Kokkos::View& view_dest, + const ValueType& value) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); + + return Impl::remove_copy_team_impl( + teamHandle, ::Kokkos::Experimental::cbegin(view_from), + ::Kokkos::Experimental::cend(view_from), + ::Kokkos::Experimental::begin(view_dest), value); +} + } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_RemoveCopyIf.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_RemoveCopyIf.hpp index 6d642ed6f0..45e2b54bb6 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_RemoveCopyIf.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_RemoveCopyIf.hpp @@ -23,30 +23,39 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + typename UnaryPredicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator remove_copy_if(const ExecutionSpace& ex, InputIterator first_from, InputIterator last_from, OutputIterator first_dest, const UnaryPredicate& pred) { - return Impl::remove_copy_if_impl( + return Impl::remove_copy_if_exespace_impl( "Kokkos::remove_copy_if_iterator_api_default", ex, first_from, last_from, first_dest, pred); } -template +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + typename UnaryPredicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator remove_copy_if(const std::string& label, const ExecutionSpace& ex, InputIterator first_from, InputIterator last_from, OutputIterator first_dest, const UnaryPredicate& pred) { - return Impl::remove_copy_if_impl(label, ex, first_from, last_from, first_dest, - pred); + return Impl::remove_copy_if_exespace_impl(label, ex, first_from, last_from, + first_dest, pred); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename UnaryPredicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto remove_copy_if(const ExecutionSpace& ex, const ::Kokkos::View& view_from, const ::Kokkos::View& view_dest, @@ -54,15 +63,17 @@ auto remove_copy_if(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); - return Impl::remove_copy_if_impl( + return Impl::remove_copy_if_exespace_impl( "Kokkos::remove_copy_if_iterator_api_default", ex, ::Kokkos::Experimental::cbegin(view_from), ::Kokkos::Experimental::cend(view_from), ::Kokkos::Experimental::begin(view_dest), pred); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename UnaryPredicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto remove_copy_if(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view_from, const ::Kokkos::View& view_dest, @@ -70,12 +81,46 @@ auto remove_copy_if(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); - return Impl::remove_copy_if_impl( + return Impl::remove_copy_if_exespace_impl( label, ex, ::Kokkos::Experimental::cbegin(view_from), ::Kokkos::Experimental::cend(view_from), ::Kokkos::Experimental::begin(view_dest), pred); } +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION OutputIterator remove_copy_if(const TeamHandleType& teamHandle, + InputIterator first_from, + InputIterator last_from, + OutputIterator first_dest, + const UnaryPredicate& pred) { + return Impl::remove_copy_if_team_impl(teamHandle, first_from, last_from, + first_dest, pred); +} + +template , int> = 0> +KOKKOS_FUNCTION auto remove_copy_if( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view_from, + const ::Kokkos::View& view_dest, + const UnaryPredicate& pred) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); + + return Impl::remove_copy_if_team_impl( + teamHandle, ::Kokkos::Experimental::cbegin(view_from), + ::Kokkos::Experimental::cend(view_from), + ::Kokkos::Experimental::begin(view_dest), pred); +} + } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_RemoveIf.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_RemoveIf.hpp index 4062e8d373..38461a37f2 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_RemoveIf.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_RemoveIf.hpp @@ -23,39 +23,77 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename Iterator, typename UnaryPredicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> Iterator remove_if(const ExecutionSpace& ex, Iterator first, Iterator last, UnaryPredicate pred) { - return Impl::remove_if_impl("Kokkos::remove_if_iterator_api_default", ex, - first, last, pred); + return Impl::remove_if_exespace_impl("Kokkos::remove_if_iterator_api_default", + ex, first, last, pred); } -template +template < + typename ExecutionSpace, typename Iterator, typename UnaryPredicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> Iterator remove_if(const std::string& label, const ExecutionSpace& ex, Iterator first, Iterator last, UnaryPredicate pred) { - return Impl::remove_if_impl(label, ex, first, last, pred); + return Impl::remove_if_exespace_impl(label, ex, first, last, pred); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename UnaryPredicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto remove_if(const ExecutionSpace& ex, const ::Kokkos::View& view, UnaryPredicate pred) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::remove_if_impl("Kokkos::remove_if_iterator_api_default", ex, - ::Kokkos::Experimental::begin(view), - ::Kokkos::Experimental::end(view), pred); + return Impl::remove_if_exespace_impl("Kokkos::remove_if_iterator_api_default", + ex, ::Kokkos::Experimental::begin(view), + ::Kokkos::Experimental::end(view), pred); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename UnaryPredicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto remove_if(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, UnaryPredicate pred) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::remove_if_impl(label, ex, ::Kokkos::Experimental::begin(view), - ::Kokkos::Experimental::end(view), pred); + return Impl::remove_if_exespace_impl(label, ex, + ::Kokkos::Experimental::begin(view), + ::Kokkos::Experimental::end(view), pred); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION Iterator remove_if(const TeamHandleType& teamHandle, + Iterator first, Iterator last, + UnaryPredicate pred) { + return Impl::remove_if_team_impl(teamHandle, first, last, pred); +} + +template , int> = 0> +KOKKOS_FUNCTION auto remove_if( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view, UnaryPredicate pred) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + + return Impl::remove_if_team_impl(teamHandle, + ::Kokkos::Experimental::begin(view), + ::Kokkos::Experimental::end(view), pred); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Replace.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Replace.hpp index 4d1490ded0..29afc4f0c2 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Replace.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Replace.hpp @@ -23,40 +23,77 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename Iterator, typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> void replace(const ExecutionSpace& ex, Iterator first, Iterator last, const ValueType& old_value, const ValueType& new_value) { - return Impl::replace_impl("Kokkos::replace_iterator_api", ex, first, last, - old_value, new_value); + Impl::replace_exespace_impl("Kokkos::replace_iterator_api", ex, first, last, + old_value, new_value); } -template +template < + typename ExecutionSpace, typename Iterator, typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> void replace(const std::string& label, const ExecutionSpace& ex, Iterator first, Iterator last, const ValueType& old_value, const ValueType& new_value) { - return Impl::replace_impl(label, ex, first, last, old_value, new_value); + Impl::replace_exespace_impl(label, ex, first, last, old_value, new_value); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> void replace(const ExecutionSpace& ex, const ::Kokkos::View& view, const ValueType& old_value, const ValueType& new_value) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); namespace KE = ::Kokkos::Experimental; - return Impl::replace_impl("Kokkos::replace_view_api", ex, KE::begin(view), - KE::end(view), old_value, new_value); + Impl::replace_exespace_impl("Kokkos::replace_view_api", ex, KE::begin(view), + KE::end(view), old_value, new_value); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> void replace(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, const ValueType& old_value, const ValueType& new_value) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); namespace KE = ::Kokkos::Experimental; - return Impl::replace_impl(label, ex, KE::begin(view), KE::end(view), - old_value, new_value); + Impl::replace_exespace_impl(label, ex, KE::begin(view), KE::end(view), + old_value, new_value); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION void replace(const TeamHandleType& teamHandle, Iterator first, + Iterator last, const ValueType& old_value, + const ValueType& new_value) { + Impl::replace_team_impl(teamHandle, first, last, old_value, new_value); +} + +template , int> = 0> +KOKKOS_FUNCTION void replace( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view, + const ValueType& old_value, const ValueType& new_value) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + namespace KE = ::Kokkos::Experimental; + Impl::replace_team_impl(teamHandle, KE::begin(view), KE::end(view), old_value, + new_value); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReplaceCopy.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReplaceCopy.hpp index e7f464e4bd..04d5767e89 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReplaceCopy.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReplaceCopy.hpp @@ -23,30 +23,39 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator replace_copy(const ExecutionSpace& ex, InputIterator first_from, InputIterator last_from, OutputIterator first_dest, const ValueType& old_value, const ValueType& new_value) { - return Impl::replace_copy_impl("Kokkos::replace_copy_iterator_api", ex, - first_from, last_from, first_dest, old_value, - new_value); + return Impl::replace_copy_exespace_impl("Kokkos::replace_copy_iterator_api", + ex, first_from, last_from, first_dest, + old_value, new_value); } -template +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator replace_copy(const std::string& label, const ExecutionSpace& ex, InputIterator first_from, InputIterator last_from, OutputIterator first_dest, const ValueType& old_value, const ValueType& new_value) { - return Impl::replace_copy_impl(label, ex, first_from, last_from, first_dest, - old_value, new_value); + return Impl::replace_copy_exespace_impl(label, ex, first_from, last_from, + first_dest, old_value, new_value); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto replace_copy(const ExecutionSpace& ex, const ::Kokkos::View& view_from, const ::Kokkos::View& view_dest, @@ -54,13 +63,15 @@ auto replace_copy(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); namespace KE = ::Kokkos::Experimental; - return Impl::replace_copy_impl("Kokkos::replace_copy_view_api", ex, - KE::cbegin(view_from), KE::cend(view_from), - KE::begin(view_dest), old_value, new_value); + return Impl::replace_copy_exespace_impl( + "Kokkos::replace_copy_view_api", ex, KE::cbegin(view_from), + KE::cend(view_from), KE::begin(view_dest), old_value, new_value); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto replace_copy(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view_from, const ::Kokkos::View& view_dest, @@ -68,9 +79,43 @@ auto replace_copy(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); namespace KE = ::Kokkos::Experimental; - return Impl::replace_copy_impl(label, ex, KE::cbegin(view_from), - KE::cend(view_from), KE::begin(view_dest), - old_value, new_value); + return Impl::replace_copy_exespace_impl( + label, ex, KE::cbegin(view_from), KE::cend(view_from), + KE::begin(view_dest), old_value, new_value); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION OutputIterator replace_copy(const TeamHandleType& teamHandle, + InputIterator first_from, + InputIterator last_from, + OutputIterator first_dest, + const ValueType& old_value, + const ValueType& new_value) { + return Impl::replace_copy_team_impl(teamHandle, first_from, last_from, + first_dest, old_value, new_value); +} + +template , int> = 0> +KOKKOS_FUNCTION auto replace_copy( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view_from, + const ::Kokkos::View& view_dest, + const ValueType& old_value, const ValueType& new_value) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); + namespace KE = ::Kokkos::Experimental; + return Impl::replace_copy_team_impl(teamHandle, KE::cbegin(view_from), + KE::cend(view_from), KE::begin(view_dest), + old_value, new_value); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReplaceCopyIf.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReplaceCopyIf.hpp index 71ae8f8452..b87163f194 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReplaceCopyIf.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReplaceCopyIf.hpp @@ -23,33 +23,42 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + typename PredicateType, typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator replace_copy_if(const ExecutionSpace& ex, InputIterator first_from, InputIterator last_from, OutputIterator first_dest, PredicateType pred, const ValueType& new_value) { - return Impl::replace_copy_if_impl("Kokkos::replace_copy_if_iterator_api", ex, - first_from, last_from, first_dest, pred, - new_value); + return Impl::replace_copy_if_exespace_impl( + "Kokkos::replace_copy_if_iterator_api", ex, first_from, last_from, + first_dest, pred, new_value); } -template +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + typename PredicateType, typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator replace_copy_if(const std::string& label, const ExecutionSpace& ex, InputIterator first_from, InputIterator last_from, OutputIterator first_dest, PredicateType pred, const ValueType& new_value) { - return Impl::replace_copy_if_impl(label, ex, first_from, last_from, - first_dest, pred, new_value); + return Impl::replace_copy_if_exespace_impl(label, ex, first_from, last_from, + first_dest, pred, new_value); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename PredicateType, + typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto replace_copy_if(const ExecutionSpace& ex, const ::Kokkos::View& view_from, const ::Kokkos::View& view_dest, @@ -57,14 +66,16 @@ auto replace_copy_if(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); namespace KE = ::Kokkos::Experimental; - return Impl::replace_copy_if_impl("Kokkos::replace_copy_if_view_api", ex, - KE::cbegin(view_from), KE::cend(view_from), - KE::begin(view_dest), pred, new_value); + return Impl::replace_copy_if_exespace_impl( + "Kokkos::replace_copy_if_view_api", ex, KE::cbegin(view_from), + KE::cend(view_from), KE::begin(view_dest), pred, new_value); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename PredicateType, + typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto replace_copy_if(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view_from, const ::Kokkos::View& view_dest, @@ -72,9 +83,44 @@ auto replace_copy_if(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); namespace KE = ::Kokkos::Experimental; - return Impl::replace_copy_if_impl(label, ex, KE::cbegin(view_from), - KE::cend(view_from), KE::begin(view_dest), - pred, new_value); + return Impl::replace_copy_if_exespace_impl( + label, ex, KE::cbegin(view_from), KE::cend(view_from), + KE::begin(view_dest), pred, new_value); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION OutputIterator replace_copy_if(const TeamHandleType& teamHandle, + InputIterator first_from, + InputIterator last_from, + OutputIterator first_dest, + PredicateType pred, + const ValueType& new_value) { + return Impl::replace_copy_if_team_impl(teamHandle, first_from, last_from, + first_dest, pred, new_value); +} + +template , int> = 0> +KOKKOS_FUNCTION auto replace_copy_if( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view_from, + const ::Kokkos::View& view_dest, + PredicateType pred, const ValueType& new_value) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); + namespace KE = ::Kokkos::Experimental; + return Impl::replace_copy_if_team_impl(teamHandle, KE::cbegin(view_from), + KE::cend(view_from), + KE::begin(view_dest), pred, new_value); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReplaceIf.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReplaceIf.hpp index 7f06540e06..73af1f16f0 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReplaceIf.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReplaceIf.hpp @@ -23,43 +23,82 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename InputIterator, typename Predicate, + typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> void replace_if(const ExecutionSpace& ex, InputIterator first, InputIterator last, Predicate pred, const ValueType& new_value) { - return Impl::replace_if_impl("Kokkos::replace_if_iterator_api", ex, first, - last, pred, new_value); + Impl::replace_if_exespace_impl("Kokkos::replace_if_iterator_api", ex, first, + last, pred, new_value); } -template +template < + typename ExecutionSpace, typename InputIterator, typename Predicate, + typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> void replace_if(const std::string& label, const ExecutionSpace& ex, InputIterator first, InputIterator last, Predicate pred, const ValueType& new_value) { - return Impl::replace_if_impl(label, ex, first, last, pred, new_value); + Impl::replace_if_exespace_impl(label, ex, first, last, pred, new_value); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename Predicate, typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> void replace_if(const ExecutionSpace& ex, const ::Kokkos::View& view, Predicate pred, const ValueType& new_value) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); namespace KE = ::Kokkos::Experimental; - return Impl::replace_if_impl("Kokkos::replace_if_view_api", ex, - KE::begin(view), KE::end(view), pred, new_value); + Impl::replace_if_exespace_impl("Kokkos::replace_if_view_api", ex, + KE::begin(view), KE::end(view), pred, + new_value); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename Predicate, typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> void replace_if(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, Predicate pred, const ValueType& new_value) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); namespace KE = ::Kokkos::Experimental; - return Impl::replace_if_impl(label, ex, KE::begin(view), KE::end(view), pred, - new_value); + Impl::replace_if_exespace_impl(label, ex, KE::begin(view), KE::end(view), + pred, new_value); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION void replace_if(const TeamHandleType& teamHandle, + InputIterator first, InputIterator last, + Predicate pred, const ValueType& new_value) { + Impl::replace_if_team_impl(teamHandle, first, last, pred, new_value); +} + +template , int> = 0> +KOKKOS_FUNCTION void replace_if( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view, Predicate pred, + const ValueType& new_value) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + namespace KE = ::Kokkos::Experimental; + Impl::replace_if_team_impl(teamHandle, KE::begin(view), KE::end(view), pred, + new_value); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Reverse.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Reverse.hpp index 9f2fc5f3cc..a0786d3a2e 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Reverse.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Reverse.hpp @@ -23,34 +23,67 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename InputIterator, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> void reverse(const ExecutionSpace& ex, InputIterator first, InputIterator last) { - return Impl::reverse_impl("Kokkos::reverse_iterator_api_default", ex, first, - last); + return Impl::reverse_exespace_impl("Kokkos::reverse_iterator_api_default", ex, + first, last); } -template +template < + typename ExecutionSpace, typename InputIterator, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> void reverse(const std::string& label, const ExecutionSpace& ex, InputIterator first, InputIterator last) { - return Impl::reverse_impl(label, ex, first, last); + return Impl::reverse_exespace_impl(label, ex, first, last); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> void reverse(const ExecutionSpace& ex, const ::Kokkos::View& view) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); namespace KE = ::Kokkos::Experimental; - return Impl::reverse_impl("Kokkos::reverse_view_api_default", ex, - KE::begin(view), KE::end(view)); + return Impl::reverse_exespace_impl("Kokkos::reverse_view_api_default", ex, + KE::begin(view), KE::end(view)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> void reverse(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); namespace KE = ::Kokkos::Experimental; - return Impl::reverse_impl(label, ex, KE::begin(view), KE::end(view)); + return Impl::reverse_exespace_impl(label, ex, KE::begin(view), KE::end(view)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION void reverse(const TeamHandleType& teamHandle, + InputIterator first, InputIterator last) { + return Impl::reverse_team_impl(teamHandle, first, last); +} + +template , int> = 0> +KOKKOS_FUNCTION void reverse( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + namespace KE = ::Kokkos::Experimental; + return Impl::reverse_team_impl(teamHandle, KE::begin(view), KE::end(view)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReverseCopy.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReverseCopy.hpp index 279bb22086..37336c983a 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReverseCopy.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReverseCopy.hpp @@ -23,42 +23,83 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator reverse_copy(const ExecutionSpace& ex, InputIterator first, InputIterator last, OutputIterator d_first) { - return Impl::reverse_copy_impl("Kokkos::reverse_copy_iterator_api_default", - ex, first, last, d_first); + return Impl::reverse_copy_exespace_impl( + "Kokkos::reverse_copy_iterator_api_default", ex, first, last, d_first); } -template +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator reverse_copy(const std::string& label, const ExecutionSpace& ex, InputIterator first, InputIterator last, OutputIterator d_first) { - return Impl::reverse_copy_impl(label, ex, first, last, d_first); + return Impl::reverse_copy_exespace_impl(label, ex, first, last, d_first); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto reverse_copy(const ExecutionSpace& ex, const ::Kokkos::View& source, ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); - return Impl::reverse_copy_impl("Kokkos::reverse_copy_view_api_default", ex, - cbegin(source), cend(source), begin(dest)); + return Impl::reverse_copy_exespace_impl( + "Kokkos::reverse_copy_view_api_default", ex, cbegin(source), cend(source), + begin(dest)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto reverse_copy(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); - return Impl::reverse_copy_impl(label, ex, cbegin(source), cend(source), - begin(dest)); + return Impl::reverse_copy_exespace_impl(label, ex, cbegin(source), + cend(source), begin(dest)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION OutputIterator reverse_copy(const TeamHandleType& teamHandle, + InputIterator first, + InputIterator last, + OutputIterator d_first) { + return Impl::reverse_copy_team_impl(teamHandle, first, last, d_first); +} + +template , int> = 0> +KOKKOS_FUNCTION auto reverse_copy( + const TeamHandleType& teamHandle, + const ::Kokkos::View& source, + ::Kokkos::View& dest) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); + + return Impl::reverse_copy_team_impl(teamHandle, cbegin(source), cend(source), + begin(dest)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Rotate.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Rotate.hpp index 738e9bf137..aff04b47d6 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Rotate.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Rotate.hpp @@ -23,36 +23,71 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename IteratorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType rotate(const ExecutionSpace& ex, IteratorType first, IteratorType n_first, IteratorType last) { - return Impl::rotate_impl("Kokkos::rotate_iterator_api_default", ex, first, - n_first, last); + return Impl::rotate_exespace_impl("Kokkos::rotate_iterator_api_default", ex, + first, n_first, last); } -template +template < + typename ExecutionSpace, typename IteratorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType rotate(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType n_first, IteratorType last) { - return Impl::rotate_impl(label, ex, first, n_first, last); + return Impl::rotate_exespace_impl(label, ex, first, n_first, last); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto rotate(const ExecutionSpace& ex, const ::Kokkos::View& view, std::size_t n_location) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::rotate_impl("Kokkos::rotate_view_api_default", ex, begin(view), - begin(view) + n_location, end(view)); + return Impl::rotate_exespace_impl("Kokkos::rotate_view_api_default", ex, + begin(view), begin(view) + n_location, + end(view)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto rotate(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, std::size_t n_location) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::rotate_impl(label, ex, begin(view), begin(view) + n_location, - end(view)); + return Impl::rotate_exespace_impl(label, ex, begin(view), + begin(view) + n_location, end(view)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION IteratorType rotate(const TeamHandleType& teamHandle, + IteratorType first, IteratorType n_first, + IteratorType last) { + return Impl::rotate_team_impl(teamHandle, first, n_first, last); +} + +template , int> = 0> +KOKKOS_FUNCTION auto rotate(const TeamHandleType& teamHandle, + const ::Kokkos::View& view, + std::size_t n_location) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + return Impl::rotate_team_impl(teamHandle, begin(view), + begin(view) + n_location, end(view)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_RotateCopy.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_RotateCopy.hpp index f5d826c4bb..cce37fccfa 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_RotateCopy.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_RotateCopy.hpp @@ -23,23 +23,34 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator rotate_copy(const ExecutionSpace& ex, InputIterator first, InputIterator n_first, InputIterator last, OutputIterator d_first) { - return Impl::rotate_copy_impl("Kokkos::rotate_copy_iterator_api_default", ex, - first, n_first, last, d_first); + return Impl::rotate_copy_exespace_impl( + "Kokkos::rotate_copy_iterator_api_default", ex, first, n_first, last, + d_first); } -template +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator rotate_copy(const std::string& label, const ExecutionSpace& ex, InputIterator first, InputIterator n_first, InputIterator last, OutputIterator d_first) { - return Impl::rotate_copy_impl(label, ex, first, n_first, last, d_first); + return Impl::rotate_copy_exespace_impl(label, ex, first, n_first, last, + d_first); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto rotate_copy(const ExecutionSpace& ex, const ::Kokkos::View& source, std::size_t n_location, @@ -47,13 +58,15 @@ auto rotate_copy(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); - return Impl::rotate_copy_impl("Kokkos::rotate_copy_view_api_default", ex, - cbegin(source), cbegin(source) + n_location, - cend(source), begin(dest)); + return Impl::rotate_copy_exespace_impl( + "Kokkos::rotate_copy_view_api_default", ex, cbegin(source), + cbegin(source) + n_location, cend(source), begin(dest)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto rotate_copy(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, std::size_t n_location, @@ -61,9 +74,41 @@ auto rotate_copy(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); - return Impl::rotate_copy_impl(label, ex, cbegin(source), - cbegin(source) + n_location, cend(source), - begin(dest)); + return Impl::rotate_copy_exespace_impl(label, ex, cbegin(source), + cbegin(source) + n_location, + cend(source), begin(dest)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION OutputIterator rotate_copy(const TeamHandleType& teamHandle, + InputIterator first, + InputIterator n_first, + InputIterator last, + OutputIterator d_first) { + return Impl::rotate_copy_team_impl(teamHandle, first, n_first, last, d_first); +} + +template , int> = 0> +KOKKOS_FUNCTION auto rotate_copy( + const TeamHandleType& teamHandle, + const ::Kokkos::View& source, + std::size_t n_location, + const ::Kokkos::View& dest) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); + + return Impl::rotate_copy_team_impl(teamHandle, cbegin(source), + cbegin(source) + n_location, cend(source), + begin(dest)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Search.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Search.hpp index b1154b297e..43258a484e 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Search.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Search.hpp @@ -23,24 +23,34 @@ namespace Kokkos { namespace Experimental { +// +// overload set accepting execution space +// + // overload set 1: no binary predicate passed -template +template < + typename ExecutionSpace, typename IteratorType1, typename IteratorType2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType1 search(const ExecutionSpace& ex, IteratorType1 first, IteratorType1 last, IteratorType2 s_first, IteratorType2 s_last) { - return Impl::search_impl("Kokkos::search_iterator_api_default", ex, first, - last, s_first, s_last); + return Impl::search_exespace_impl("Kokkos::search_iterator_api_default", ex, + first, last, s_first, s_last); } -template +template < + typename ExecutionSpace, typename IteratorType1, typename IteratorType2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType1 search(const std::string& label, const ExecutionSpace& ex, IteratorType1 first, IteratorType1 last, IteratorType2 s_first, IteratorType2 s_last) { - return Impl::search_impl(label, ex, first, last, s_first, s_last); + return Impl::search_exespace_impl(label, ex, first, last, s_first, s_last); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto search(const ExecutionSpace& ex, const ::Kokkos::View& view, const ::Kokkos::View& s_view) { @@ -48,13 +58,15 @@ auto search(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(s_view); namespace KE = ::Kokkos::Experimental; - return Impl::search_impl("Kokkos::search_view_api_default", ex, - KE::begin(view), KE::end(view), KE::begin(s_view), - KE::end(s_view)); + return Impl::search_exespace_impl("Kokkos::search_view_api_default", ex, + KE::begin(view), KE::end(view), + KE::begin(s_view), KE::end(s_view)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto search(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, const ::Kokkos::View& s_view) { @@ -62,31 +74,38 @@ auto search(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(s_view); namespace KE = ::Kokkos::Experimental; - return Impl::search_impl(label, ex, KE::begin(view), KE::end(view), - KE::begin(s_view), KE::end(s_view)); + return Impl::search_exespace_impl(label, ex, KE::begin(view), KE::end(view), + KE::begin(s_view), KE::end(s_view)); } // overload set 2: binary predicate passed -template +template < + typename ExecutionSpace, typename IteratorType1, typename IteratorType2, + typename BinaryPredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType1 search(const ExecutionSpace& ex, IteratorType1 first, IteratorType1 last, IteratorType2 s_first, IteratorType2 s_last, const BinaryPredicateType& pred) { - return Impl::search_impl("Kokkos::search_iterator_api_default", ex, first, - last, s_first, s_last, pred); + return Impl::search_exespace_impl("Kokkos::search_iterator_api_default", ex, + first, last, s_first, s_last, pred); } -template +template < + typename ExecutionSpace, typename IteratorType1, typename IteratorType2, + typename BinaryPredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType1 search(const std::string& label, const ExecutionSpace& ex, IteratorType1 first, IteratorType1 last, IteratorType2 s_first, IteratorType2 s_last, const BinaryPredicateType& pred) { - return Impl::search_impl(label, ex, first, last, s_first, s_last, pred); + return Impl::search_exespace_impl(label, ex, first, last, s_first, s_last, + pred); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename BinaryPredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto search(const ExecutionSpace& ex, const ::Kokkos::View& view, const ::Kokkos::View& s_view, @@ -95,13 +114,15 @@ auto search(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(s_view); namespace KE = ::Kokkos::Experimental; - return Impl::search_impl("Kokkos::search_view_api_default", ex, - KE::begin(view), KE::end(view), KE::begin(s_view), - KE::end(s_view), pred); + return Impl::search_exespace_impl("Kokkos::search_view_api_default", ex, + KE::begin(view), KE::end(view), + KE::begin(s_view), KE::end(s_view), pred); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename BinaryPredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto search(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, const ::Kokkos::View& s_view, @@ -110,8 +131,70 @@ auto search(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(s_view); namespace KE = ::Kokkos::Experimental; - return Impl::search_impl(label, ex, KE::begin(view), KE::end(view), - KE::begin(s_view), KE::end(s_view), pred); + return Impl::search_exespace_impl(label, ex, KE::begin(view), KE::end(view), + KE::begin(s_view), KE::end(s_view), pred); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// + +// overload set 1: no binary predicate passed +template , int> = 0> +KOKKOS_FUNCTION IteratorType1 search(const TeamHandleType& teamHandle, + IteratorType1 first, IteratorType1 last, + IteratorType2 s_first, + IteratorType2 s_last) { + return Impl::search_team_impl(teamHandle, first, last, s_first, s_last); +} + +template , int> = 0> +KOKKOS_FUNCTION auto search( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view, + const ::Kokkos::View& s_view) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(s_view); + + namespace KE = ::Kokkos::Experimental; + return Impl::search_team_impl(teamHandle, KE::begin(view), KE::end(view), + KE::begin(s_view), KE::end(s_view)); +} + +// overload set 2: binary predicate passed +template , int> = 0> + +KOKKOS_FUNCTION IteratorType1 search(const TeamHandleType& teamHandle, + IteratorType1 first, IteratorType1 last, + IteratorType2 s_first, + IteratorType2 s_last, + const BinaryPredicateType& pred) { + return Impl::search_team_impl(teamHandle, first, last, s_first, s_last, pred); +} + +template , int> = 0> +KOKKOS_FUNCTION auto search( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view, + const ::Kokkos::View& s_view, + const BinaryPredicateType& pred) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(s_view); + + namespace KE = ::Kokkos::Experimental; + return Impl::search_team_impl(teamHandle, KE::begin(view), KE::end(view), + KE::begin(s_view), KE::end(s_view), pred); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_SearchN.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_SearchN.hpp index a649c8f205..0f8aa5f1c1 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_SearchN.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_SearchN.hpp @@ -23,68 +23,86 @@ namespace Kokkos { namespace Experimental { +// +// overload set accepting execution space +// + // overload set 1: no binary predicate passed -template +template < + class ExecutionSpace, class IteratorType, class SizeType, class ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType search_n(const ExecutionSpace& ex, IteratorType first, IteratorType last, SizeType count, const ValueType& value) { - return Impl::search_n_impl("Kokkos::search_n_iterator_api_default", ex, first, - last, count, value); + return Impl::search_n_exespace_impl("Kokkos::search_n_iterator_api_default", + ex, first, last, count, value); } -template +template < + class ExecutionSpace, class IteratorType, class SizeType, class ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType search_n(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, SizeType count, const ValueType& value) { - return Impl::search_n_impl(label, ex, first, last, count, value); + return Impl::search_n_exespace_impl(label, ex, first, last, count, value); } template + class SizeType, class ValueType, + std::enable_if_t<::Kokkos::is_execution_space::value, + int> = 0> auto search_n(const ExecutionSpace& ex, const ::Kokkos::View& view, SizeType count, const ValueType& value) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); namespace KE = ::Kokkos::Experimental; - return Impl::search_n_impl("Kokkos::search_n_view_api_default", ex, - KE::begin(view), KE::end(view), count, value); + return Impl::search_n_exespace_impl("Kokkos::search_n_view_api_default", ex, + KE::begin(view), KE::end(view), count, + value); } template + class SizeType, class ValueType, + std::enable_if_t<::Kokkos::is_execution_space::value, + int> = 0> auto search_n(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, SizeType count, const ValueType& value) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); namespace KE = ::Kokkos::Experimental; - return Impl::search_n_impl(label, ex, KE::begin(view), KE::end(view), count, - value); + return Impl::search_n_exespace_impl(label, ex, KE::begin(view), KE::end(view), + count, value); } // overload set 2: binary predicate passed -template +template < + class ExecutionSpace, class IteratorType, class SizeType, class ValueType, + class BinaryPredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType search_n(const ExecutionSpace& ex, IteratorType first, IteratorType last, SizeType count, const ValueType& value, const BinaryPredicateType& pred) { - return Impl::search_n_impl("Kokkos::search_n_iterator_api_default", ex, first, - last, count, value, pred); + return Impl::search_n_exespace_impl("Kokkos::search_n_iterator_api_default", + ex, first, last, count, value, pred); } -template +template < + class ExecutionSpace, class IteratorType, class SizeType, class ValueType, + class BinaryPredicateType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType search_n(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, SizeType count, const ValueType& value, const BinaryPredicateType& pred) { - return Impl::search_n_impl(label, ex, first, last, count, value, pred); + return Impl::search_n_exespace_impl(label, ex, first, last, count, value, + pred); } template + class SizeType, class ValueType, class BinaryPredicateType, + std::enable_if_t<::Kokkos::is_execution_space::value, + int> = 0> auto search_n(const ExecutionSpace& ex, const ::Kokkos::View& view, SizeType count, const ValueType& value, @@ -92,13 +110,15 @@ auto search_n(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); namespace KE = ::Kokkos::Experimental; - return Impl::search_n_impl("Kokkos::search_n_view_api_default", ex, - KE::begin(view), KE::end(view), count, value, - pred); + return Impl::search_n_exespace_impl("Kokkos::search_n_view_api_default", ex, + KE::begin(view), KE::end(view), count, + value, pred); } template + class SizeType, class ValueType, class BinaryPredicateType, + std::enable_if_t<::Kokkos::is_execution_space::value, + int> = 0> auto search_n(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, SizeType count, const ValueType& value, @@ -106,8 +126,65 @@ auto search_n(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); namespace KE = ::Kokkos::Experimental; - return Impl::search_n_impl(label, ex, KE::begin(view), KE::end(view), count, - value, pred); + return Impl::search_n_exespace_impl(label, ex, KE::begin(view), KE::end(view), + count, value, pred); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// + +// overload set 1: no binary predicate passed +template , int> = 0> +KOKKOS_FUNCTION IteratorType search_n(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last, + SizeType count, const ValueType& value) { + return Impl::search_n_team_impl(teamHandle, first, last, count, value); +} + +template < + class TeamHandleType, class DataType, class... Properties, class SizeType, + class ValueType, + std::enable_if_t<::Kokkos::is_team_handle::value, int> = 0> +KOKKOS_FUNCTION auto search_n( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view, SizeType count, + const ValueType& value) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + + namespace KE = ::Kokkos::Experimental; + return Impl::search_n_team_impl(teamHandle, KE::begin(view), KE::end(view), + count, value); +} + +// overload set 2: binary predicate passed +template , int> = 0> +KOKKOS_FUNCTION IteratorType search_n(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last, + SizeType count, const ValueType& value, + const BinaryPredicateType& pred) { + return Impl::search_n_team_impl(teamHandle, first, last, count, value, pred); +} + +template < + class TeamHandleType, class DataType, class... Properties, class SizeType, + class ValueType, class BinaryPredicateType, + std::enable_if_t<::Kokkos::is_team_handle::value, int> = 0> +KOKKOS_FUNCTION auto search_n( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view, SizeType count, + const ValueType& value, const BinaryPredicateType& pred) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + + namespace KE = ::Kokkos::Experimental; + return Impl::search_n_team_impl(teamHandle, KE::begin(view), KE::end(view), + count, value, pred); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ShiftLeft.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ShiftLeft.hpp index 4b91a17ab8..b3e04a3b97 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ShiftLeft.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ShiftLeft.hpp @@ -23,36 +23,70 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename IteratorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType shift_left(const ExecutionSpace& ex, IteratorType first, IteratorType last, typename IteratorType::difference_type n) { - return Impl::shift_left_impl("Kokkos::shift_left_iterator_api_default", ex, - first, last, n); + return Impl::shift_left_exespace_impl( + "Kokkos::shift_left_iterator_api_default", ex, first, last, n); } -template +template < + typename ExecutionSpace, typename IteratorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType shift_left(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, typename IteratorType::difference_type n) { - return Impl::shift_left_impl(label, ex, first, last, n); + return Impl::shift_left_exespace_impl(label, ex, first, last, n); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto shift_left(const ExecutionSpace& ex, const ::Kokkos::View& view, typename decltype(begin(view))::difference_type n) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::shift_left_impl("Kokkos::shift_left_view_api_default", ex, - begin(view), end(view), n); + return Impl::shift_left_exespace_impl("Kokkos::shift_left_view_api_default", + ex, begin(view), end(view), n); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto shift_left(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, typename decltype(begin(view))::difference_type n) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::shift_left_impl(label, ex, begin(view), end(view), n); + return Impl::shift_left_exespace_impl(label, ex, begin(view), end(view), n); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION IteratorType +shift_left(const TeamHandleType& teamHandle, IteratorType first, + IteratorType last, typename IteratorType::difference_type n) { + return Impl::shift_left_team_impl(teamHandle, first, last, n); +} + +template , int> = 0> +KOKKOS_FUNCTION auto shift_left( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view, + typename decltype(begin(view))::difference_type n) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + return Impl::shift_left_team_impl(teamHandle, begin(view), end(view), n); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ShiftRight.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ShiftRight.hpp index 2ea50fd74e..0f7ed53948 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ShiftRight.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ShiftRight.hpp @@ -23,36 +23,70 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename IteratorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType shift_right(const ExecutionSpace& ex, IteratorType first, IteratorType last, typename IteratorType::difference_type n) { - return Impl::shift_right_impl("Kokkos::shift_right_iterator_api_default", ex, - first, last, n); + return Impl::shift_right_exespace_impl( + "Kokkos::shift_right_iterator_api_default", ex, first, last, n); } -template +template < + typename ExecutionSpace, typename IteratorType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> IteratorType shift_right(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, typename IteratorType::difference_type n) { - return Impl::shift_right_impl(label, ex, first, last, n); + return Impl::shift_right_exespace_impl(label, ex, first, last, n); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto shift_right(const ExecutionSpace& ex, const ::Kokkos::View& view, typename decltype(begin(view))::difference_type n) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::shift_right_impl("Kokkos::shift_right_view_api_default", ex, - begin(view), end(view), n); + return Impl::shift_right_exespace_impl("Kokkos::shift_right_view_api_default", + ex, begin(view), end(view), n); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto shift_right(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, typename decltype(begin(view))::difference_type n) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::shift_right_impl(label, ex, begin(view), end(view), n); + return Impl::shift_right_exespace_impl(label, ex, begin(view), end(view), n); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION IteratorType +shift_right(const TeamHandleType& teamHandle, IteratorType first, + IteratorType last, typename IteratorType::difference_type n) { + return Impl::shift_right_team_impl(teamHandle, first, last, n); +} + +template , int> = 0> +KOKKOS_FUNCTION auto shift_right( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view, + typename decltype(begin(view))::difference_type n) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + return Impl::shift_right_team_impl(teamHandle, begin(view), end(view), n); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_SwapRanges.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_SwapRanges.hpp index 5fbf045318..39f33b6487 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_SwapRanges.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_SwapRanges.hpp @@ -23,15 +23,21 @@ namespace Kokkos { namespace Experimental { -template +// +// overload set accepting execution space +// +template , int> = 0> IteratorType2 swap_ranges(const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, IteratorType2 first2) { - return Impl::swap_ranges_impl("Kokkos::swap_ranges_iterator_api_default", ex, - first1, last1, first2); + return Impl::swap_ranges_exespace_impl( + "Kokkos::swap_ranges_iterator_api_default", ex, first1, last1, first2); } -template +template , int> = 0> auto swap_ranges(const ExecutionSpace& ex, const ::Kokkos::View& source, ::Kokkos::View& dest) { @@ -39,19 +45,23 @@ auto swap_ranges(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); assert(source.extent(0) == dest.extent(0)); - return Impl::swap_ranges_impl("Kokkos::swap_ranges_view_api_default", ex, - begin(source), end(source), begin(dest)); + return Impl::swap_ranges_exespace_impl("Kokkos::swap_ranges_view_api_default", + ex, begin(source), end(source), + begin(dest)); } -template +template , int> = 0> IteratorType2 swap_ranges(const std::string& label, const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, IteratorType2 first2) { - return Impl::swap_ranges_impl(label, ex, first1, last1, first2); + return Impl::swap_ranges_exespace_impl(label, ex, first1, last1, first2); } -template +template , int> = 0> auto swap_ranges(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, ::Kokkos::View& dest) { @@ -59,8 +69,38 @@ auto swap_ranges(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); assert(source.extent(0) == dest.extent(0)); - return Impl::swap_ranges_impl(label, ex, begin(source), end(source), - begin(dest)); + return Impl::swap_ranges_exespace_impl(label, ex, begin(source), end(source), + begin(dest)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION IteratorType2 swap_ranges(const TeamHandleType& teamHandle, + IteratorType1 first1, + IteratorType1 last1, + IteratorType2 first2) { + return Impl::swap_ranges_team_impl(teamHandle, first1, last1, first2); +} + +template , int> = 0> +KOKKOS_FUNCTION auto swap_ranges( + const TeamHandleType& teamHandle, + const ::Kokkos::View& source, + ::Kokkos::View& dest) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); + + assert(source.extent(0) == dest.extent(0)); + return Impl::swap_ranges_team_impl(teamHandle, begin(source), end(source), + begin(dest)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Transform.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Transform.hpp index 27dee30426..838c9169e2 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Transform.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Transform.hpp @@ -23,31 +23,39 @@ namespace Kokkos { namespace Experimental { -template -std::enable_if_t< ::Kokkos::Experimental::Impl::are_iterators< - InputIterator, OutputIterator>::value, - OutputIterator> -transform(const ExecutionSpace& ex, InputIterator first1, InputIterator last1, - OutputIterator d_first, UnaryOperation unary_op) { - return Impl::transform_impl("Kokkos::transform_iterator_api_default", ex, - first1, last1, d_first, std::move(unary_op)); +// +// overload set accepting execution space +// +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + typename UnaryOperation, + std::enable_if_t && + is_execution_space_v, + int> = 0> +OutputIterator transform(const ExecutionSpace& ex, InputIterator first1, + InputIterator last1, OutputIterator d_first, + UnaryOperation unary_op) { + return Impl::transform_exespace_impl("Kokkos::transform_iterator_api_default", + ex, first1, last1, d_first, + std::move(unary_op)); } -template -std::enable_if_t< ::Kokkos::Experimental::Impl::are_iterators< - InputIterator, OutputIterator>::value, - OutputIterator> -transform(const std::string& label, const ExecutionSpace& ex, - InputIterator first1, InputIterator last1, OutputIterator d_first, - UnaryOperation unary_op) { - return Impl::transform_impl(label, ex, first1, last1, d_first, - std::move(unary_op)); +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + typename UnaryOperation, + std::enable_if_t && + is_execution_space_v, + int> = 0> +OutputIterator transform(const std::string& label, const ExecutionSpace& ex, + InputIterator first1, InputIterator last1, + OutputIterator d_first, UnaryOperation unary_op) { + return Impl::transform_exespace_impl(label, ex, first1, last1, d_first, + std::move(unary_op)); } -template +template , int> = 0> auto transform(const ExecutionSpace& ex, const ::Kokkos::View& source, ::Kokkos::View& dest, @@ -55,13 +63,14 @@ auto transform(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); - return Impl::transform_impl("Kokkos::transform_view_api_default", ex, - begin(source), end(source), begin(dest), - std::move(unary_op)); + return Impl::transform_exespace_impl("Kokkos::transform_view_api_default", ex, + begin(source), end(source), begin(dest), + std::move(unary_op)); } -template +template , int> = 0> auto transform(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, ::Kokkos::View& dest, @@ -69,38 +78,44 @@ auto transform(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); - return Impl::transform_impl(label, ex, begin(source), end(source), - begin(dest), std::move(unary_op)); + return Impl::transform_exespace_impl(label, ex, begin(source), end(source), + begin(dest), std::move(unary_op)); } -template -std::enable_if_t< ::Kokkos::Experimental::Impl::are_iterators< - InputIterator1, InputIterator2, OutputIterator>::value, - OutputIterator> -transform(const ExecutionSpace& ex, InputIterator1 first1, InputIterator1 last1, - InputIterator2 first2, OutputIterator d_first, - BinaryOperation binary_op) { - return Impl::transform_impl("Kokkos::transform_iterator_api_default", ex, - first1, last1, first2, d_first, - std::move(binary_op)); +template < + typename ExecutionSpace, typename InputIterator1, typename InputIterator2, + typename OutputIterator, typename BinaryOperation, + std::enable_if_t< + Impl::are_iterators_v && + is_execution_space_v, + int> = 0> +OutputIterator transform(const ExecutionSpace& ex, InputIterator1 first1, + InputIterator1 last1, InputIterator2 first2, + OutputIterator d_first, BinaryOperation binary_op) { + return Impl::transform_exespace_impl("Kokkos::transform_iterator_api_default", + ex, first1, last1, first2, d_first, + std::move(binary_op)); } -template -std::enable_if_t< ::Kokkos::Experimental::Impl::are_iterators< - InputIterator1, InputIterator2, OutputIterator>::value, - OutputIterator> -transform(const std::string& label, const ExecutionSpace& ex, - InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, - OutputIterator d_first, BinaryOperation binary_op) { - return Impl::transform_impl(label, ex, first1, last1, first2, d_first, - std::move(binary_op)); +template < + typename ExecutionSpace, typename InputIterator1, typename InputIterator2, + typename OutputIterator, typename BinaryOperation, + std::enable_if_t< + Impl::are_iterators_v && + is_execution_space_v, + int> = 0> +OutputIterator transform(const std::string& label, const ExecutionSpace& ex, + InputIterator1 first1, InputIterator1 last1, + InputIterator2 first2, OutputIterator d_first, + BinaryOperation binary_op) { + return Impl::transform_exespace_impl(label, ex, first1, last1, first2, + d_first, std::move(binary_op)); } -template +template , int> = 0> auto transform(const ExecutionSpace& ex, const ::Kokkos::View& source1, const ::Kokkos::View& source2, @@ -110,14 +125,15 @@ auto transform(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source2); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); - return Impl::transform_impl("Kokkos::transform_view_api_default", ex, - begin(source1), end(source1), begin(source2), - begin(dest), std::move(binary_op)); + return Impl::transform_exespace_impl( + "Kokkos::transform_view_api_default", ex, begin(source1), end(source1), + begin(source2), begin(dest), std::move(binary_op)); } -template +template , int> = 0> auto transform(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source1, const ::Kokkos::View& source2, @@ -127,9 +143,79 @@ auto transform(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source2); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); - return Impl::transform_impl(label, ex, begin(source1), end(source1), - begin(source2), begin(dest), - std::move(binary_op)); + return Impl::transform_exespace_impl(label, ex, begin(source1), end(source1), + begin(source2), begin(dest), + std::move(binary_op)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template < + typename TeamHandleType, typename InputIterator, typename OutputIterator, + typename UnaryOperation, + std::enable_if_t && + is_team_handle_v, + int> = 0> +KOKKOS_FUNCTION OutputIterator transform(const TeamHandleType& teamHandle, + InputIterator first1, + InputIterator last1, + OutputIterator d_first, + UnaryOperation unary_op) { + return Impl::transform_team_impl(teamHandle, first1, last1, d_first, + std::move(unary_op)); +} + +template , int> = 0> +KOKKOS_FUNCTION auto transform( + const TeamHandleType& teamHandle, + const ::Kokkos::View& source, + ::Kokkos::View& dest, UnaryOperation unary_op) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); + + return Impl::transform_team_impl(teamHandle, begin(source), end(source), + begin(dest), std::move(unary_op)); +} + +template < + typename TeamHandleType, typename InputIterator1, typename InputIterator2, + typename OutputIterator, typename BinaryOperation, + std::enable_if_t< + Impl::are_iterators_v && + is_team_handle_v, + int> = 0> +KOKKOS_FUNCTION OutputIterator transform(const TeamHandleType& teamHandle, + InputIterator1 first1, + InputIterator1 last1, + InputIterator2 first2, + OutputIterator d_first, + BinaryOperation binary_op) { + return Impl::transform_team_impl(teamHandle, first1, last1, first2, d_first, + std::move(binary_op)); +} + +template , int> = 0> +KOKKOS_FUNCTION auto transform( + const TeamHandleType& teamHandle, + const ::Kokkos::View& source1, + const ::Kokkos::View& source2, + ::Kokkos::View& dest, + BinaryOperation binary_op) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source1); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source2); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); + + return Impl::transform_team_impl(teamHandle, begin(source1), end(source1), + begin(source2), begin(dest), + std::move(binary_op)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_TransformExclusiveScan.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_TransformExclusiveScan.hpp index 9d85aee06f..37fc0f860e 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_TransformExclusiveScan.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_TransformExclusiveScan.hpp @@ -23,44 +23,52 @@ namespace Kokkos { namespace Experimental { -template -std::enable_if_t<::Kokkos::Experimental::Impl::are_iterators< - InputIteratorType, OutputIteratorType>::value, - OutputIteratorType> -transform_exclusive_scan(const ExecutionSpace& ex, InputIteratorType first, - InputIteratorType last, OutputIteratorType first_dest, - ValueType init_value, BinaryOpType binary_op, - UnaryOpType unary_op) { +// +// overload set accepting execution space +// +template && :: + Kokkos::is_execution_space_v, + int> = 0> +OutputIteratorType transform_exclusive_scan( + const ExecutionSpace& ex, InputIteratorType first, InputIteratorType last, + OutputIteratorType first_dest, ValueType init_value, BinaryOpType binary_op, + UnaryOpType unary_op) { Impl::static_assert_is_not_openmptarget(ex); - static_assert(std::is_move_constructible::value, + static_assert(std::is_move_constructible_v, "ValueType must be move constructible."); - return Impl::transform_exclusive_scan_impl( + return Impl::transform_exclusive_scan_exespace_impl( "Kokkos::transform_exclusive_scan_custom_functors_iterator_api", ex, - first, last, first_dest, init_value, binary_op, unary_op); + first, last, first_dest, std::move(init_value), binary_op, unary_op); } -template -std::enable_if_t<::Kokkos::Experimental::Impl::are_iterators< - InputIteratorType, OutputIteratorType>::value, - OutputIteratorType> -transform_exclusive_scan(const std::string& label, const ExecutionSpace& ex, - InputIteratorType first, InputIteratorType last, - OutputIteratorType first_dest, ValueType init_value, - BinaryOpType binary_op, UnaryOpType unary_op) { +template && :: + Kokkos::is_execution_space_v, + int> = 0> +OutputIteratorType transform_exclusive_scan( + const std::string& label, const ExecutionSpace& ex, InputIteratorType first, + InputIteratorType last, OutputIteratorType first_dest, ValueType init_value, + BinaryOpType binary_op, UnaryOpType unary_op) { Impl::static_assert_is_not_openmptarget(ex); - static_assert(std::is_move_constructible::value, + static_assert(std::is_move_constructible_v, "ValueType must be move constructible."); - return Impl::transform_exclusive_scan_impl(label, ex, first, last, first_dest, - init_value, binary_op, unary_op); + return Impl::transform_exclusive_scan_exespace_impl( + label, ex, first, last, first_dest, std::move(init_value), binary_op, + unary_op); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename ValueType, + typename BinaryOpType, typename UnaryOpType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto transform_exclusive_scan( const ExecutionSpace& ex, const ::Kokkos::View& view_from, @@ -69,18 +77,20 @@ auto transform_exclusive_scan( Impl::static_assert_is_not_openmptarget(ex); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); - static_assert(std::is_move_constructible::value, + static_assert(std::is_move_constructible_v, "ValueType must be move constructible."); namespace KE = ::Kokkos::Experimental; - return Impl::transform_exclusive_scan_impl( + return Impl::transform_exclusive_scan_exespace_impl( "Kokkos::transform_exclusive_scan_custom_functors_view_api", ex, KE::cbegin(view_from), KE::cend(view_from), KE::begin(view_dest), - init_value, binary_op, unary_op); + std::move(init_value), binary_op, unary_op); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename ValueType, + typename BinaryOpType, typename UnaryOpType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto transform_exclusive_scan( const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view_from, @@ -89,12 +99,56 @@ auto transform_exclusive_scan( Impl::static_assert_is_not_openmptarget(ex); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); - static_assert(std::is_move_constructible::value, + static_assert(std::is_move_constructible_v, "ValueType must be move constructible."); namespace KE = ::Kokkos::Experimental; - return Impl::transform_exclusive_scan_impl( + return Impl::transform_exclusive_scan_exespace_impl( label, ex, KE::cbegin(view_from), KE::cend(view_from), - KE::begin(view_dest), init_value, binary_op, unary_op); + KE::begin(view_dest), std::move(init_value), binary_op, unary_op); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template && :: + Kokkos::is_team_handle_v, + int> = 0> +KOKKOS_FUNCTION OutputIteratorType transform_exclusive_scan( + const TeamHandleType& teamHandle, InputIteratorType first, + InputIteratorType last, OutputIteratorType first_dest, ValueType init_value, + BinaryOpType binary_op, UnaryOpType unary_op) { + Impl::static_assert_is_not_openmptarget(teamHandle); + static_assert(std::is_move_constructible_v, + "ValueType must be move constructible."); + return Impl::transform_exclusive_scan_team_impl( + teamHandle, first, last, first_dest, std::move(init_value), binary_op, + unary_op); +} + +template , int> = 0> +KOKKOS_FUNCTION auto transform_exclusive_scan( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view_from, + const ::Kokkos::View& view_dest, + ValueType init_value, BinaryOpType binary_op, UnaryOpType unary_op) { + Impl::static_assert_is_not_openmptarget(teamHandle); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); + static_assert(std::is_move_constructible_v, + "ValueType must be move constructible."); + namespace KE = ::Kokkos::Experimental; + return Impl::transform_exclusive_scan_team_impl( + teamHandle, KE::cbegin(view_from), KE::cend(view_from), + KE::begin(view_dest), std::move(init_value), binary_op, unary_op); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_TransformInclusiveScan.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_TransformInclusiveScan.hpp index 7489af7e37..5f694dbfd9 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_TransformInclusiveScan.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_TransformInclusiveScan.hpp @@ -23,40 +23,53 @@ namespace Kokkos { namespace Experimental { +// +// overload set accepting execution space +// + // overload set 1 (no init value) -template -std::enable_if_t<::Kokkos::Experimental::Impl::are_iterators< - InputIteratorType, OutputIteratorType>::value, - OutputIteratorType> -transform_inclusive_scan(const ExecutionSpace& ex, InputIteratorType first, - InputIteratorType last, OutputIteratorType first_dest, - BinaryOpType binary_op, UnaryOpType unary_op) { +template && :: + Kokkos::is_execution_space_v, + int> = 0> +OutputIteratorType transform_inclusive_scan(const ExecutionSpace& ex, + InputIteratorType first, + InputIteratorType last, + OutputIteratorType first_dest, + BinaryOpType binary_op, + UnaryOpType unary_op) { Impl::static_assert_is_not_openmptarget(ex); - return Impl::transform_inclusive_scan_impl( + return Impl::transform_inclusive_scan_exespace_impl( "Kokkos::transform_inclusive_scan_custom_functors_iterator_api", ex, first, last, first_dest, binary_op, unary_op); } -template -std::enable_if_t<::Kokkos::Experimental::Impl::are_iterators< - InputIteratorType, OutputIteratorType>::value, - OutputIteratorType> -transform_inclusive_scan(const std::string& label, const ExecutionSpace& ex, - InputIteratorType first, InputIteratorType last, - OutputIteratorType first_dest, BinaryOpType binary_op, - UnaryOpType unary_op) { +template && :: + Kokkos::is_execution_space_v, + int> = 0> +OutputIteratorType transform_inclusive_scan( + const std::string& label, const ExecutionSpace& ex, InputIteratorType first, + InputIteratorType last, OutputIteratorType first_dest, + BinaryOpType binary_op, UnaryOpType unary_op) { Impl::static_assert_is_not_openmptarget(ex); - return Impl::transform_inclusive_scan_impl(label, ex, first, last, first_dest, - binary_op, unary_op); + return Impl::transform_inclusive_scan_exespace_impl( + label, ex, first, last, first_dest, binary_op, unary_op); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename BinaryOpType, + typename UnaryOpType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto transform_inclusive_scan( const ExecutionSpace& ex, const ::Kokkos::View& view_from, @@ -66,15 +79,17 @@ auto transform_inclusive_scan( Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); namespace KE = ::Kokkos::Experimental; - return Impl::transform_inclusive_scan_impl( + return Impl::transform_inclusive_scan_exespace_impl( "Kokkos::transform_inclusive_scan_custom_functors_view_api", ex, KE::cbegin(view_from), KE::cend(view_from), KE::begin(view_dest), binary_op, unary_op); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename BinaryOpType, + typename UnaryOpType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto transform_inclusive_scan( const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view_from, @@ -84,46 +99,59 @@ auto transform_inclusive_scan( Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); namespace KE = ::Kokkos::Experimental; - return Impl::transform_inclusive_scan_impl( + return Impl::transform_inclusive_scan_exespace_impl( label, ex, KE::cbegin(view_from), KE::cend(view_from), KE::begin(view_dest), binary_op, unary_op); } // overload set 2 (init value) -template -std::enable_if_t<::Kokkos::Experimental::Impl::are_iterators< - InputIteratorType, OutputIteratorType>::value, - OutputIteratorType> -transform_inclusive_scan(const ExecutionSpace& ex, InputIteratorType first, - InputIteratorType last, OutputIteratorType first_dest, - BinaryOpType binary_op, UnaryOpType unary_op, - ValueType init_value) { +template && :: + Kokkos::is_execution_space_v, + int> = 0> +OutputIteratorType transform_inclusive_scan( + const ExecutionSpace& ex, InputIteratorType first, InputIteratorType last, + OutputIteratorType first_dest, BinaryOpType binary_op, UnaryOpType unary_op, + ValueType init_value) { Impl::static_assert_is_not_openmptarget(ex); - return Impl::transform_inclusive_scan_impl( + static_assert(std::is_move_constructible_v, + "ValueType must be move constructible."); + + return Impl::transform_inclusive_scan_exespace_impl( "Kokkos::transform_inclusive_scan_custom_functors_iterator_api", ex, - first, last, first_dest, binary_op, unary_op, init_value); + first, last, first_dest, binary_op, unary_op, std::move(init_value)); } -template -std::enable_if_t<::Kokkos::Experimental::Impl::are_iterators< - InputIteratorType, OutputIteratorType>::value, - OutputIteratorType> -transform_inclusive_scan(const std::string& label, const ExecutionSpace& ex, - InputIteratorType first, InputIteratorType last, - OutputIteratorType first_dest, BinaryOpType binary_op, - UnaryOpType unary_op, ValueType init_value) { +template && :: + Kokkos::is_execution_space_v, + int> = 0> +OutputIteratorType transform_inclusive_scan( + const std::string& label, const ExecutionSpace& ex, InputIteratorType first, + InputIteratorType last, OutputIteratorType first_dest, + BinaryOpType binary_op, UnaryOpType unary_op, ValueType init_value) { Impl::static_assert_is_not_openmptarget(ex); - return Impl::transform_inclusive_scan_impl(label, ex, first, last, first_dest, - binary_op, unary_op, init_value); + static_assert(std::is_move_constructible_v, + "ValueType must be move constructible."); + + return Impl::transform_inclusive_scan_exespace_impl( + label, ex, first, last, first_dest, binary_op, unary_op, + std::move(init_value)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename BinaryOpType, + typename UnaryOpType, typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto transform_inclusive_scan( const ExecutionSpace& ex, const ::Kokkos::View& view_from, @@ -132,16 +160,21 @@ auto transform_inclusive_scan( Impl::static_assert_is_not_openmptarget(ex); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); + static_assert(std::is_move_constructible_v, + "ValueType must be move constructible."); + namespace KE = ::Kokkos::Experimental; - return Impl::transform_inclusive_scan_impl( + return Impl::transform_inclusive_scan_exespace_impl( "Kokkos::transform_inclusive_scan_custom_functors_view_api", ex, KE::cbegin(view_from), KE::cend(view_from), KE::begin(view_dest), - binary_op, unary_op, init_value); + binary_op, unary_op, std::move(init_value)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename BinaryOpType, + typename UnaryOpType, typename ValueType, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto transform_inclusive_scan( const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view_from, @@ -150,10 +183,97 @@ auto transform_inclusive_scan( Impl::static_assert_is_not_openmptarget(ex); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); + static_assert(std::is_move_constructible_v, + "ValueType must be move constructible."); + namespace KE = ::Kokkos::Experimental; - return Impl::transform_inclusive_scan_impl( + return Impl::transform_inclusive_scan_exespace_impl( label, ex, KE::cbegin(view_from), KE::cend(view_from), - KE::begin(view_dest), binary_op, unary_op, init_value); + KE::begin(view_dest), binary_op, unary_op, std::move(init_value)); +} + +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// + +// overload set 1 (no init value) +template && + Kokkos::is_team_handle_v, + int> = 0> +KOKKOS_FUNCTION OutputIteratorType transform_inclusive_scan( + const TeamHandleType& teamHandle, InputIteratorType first, + InputIteratorType last, OutputIteratorType first_dest, + BinaryOpType binary_op, UnaryOpType unary_op) { + Impl::static_assert_is_not_openmptarget(teamHandle); + + return Impl::transform_inclusive_scan_team_impl( + teamHandle, first, last, first_dest, binary_op, unary_op); +} + +template , int> = 0> +KOKKOS_FUNCTION auto transform_inclusive_scan( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view_from, + const ::Kokkos::View& view_dest, + BinaryOpType binary_op, UnaryOpType unary_op) { + Impl::static_assert_is_not_openmptarget(teamHandle); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); + namespace KE = ::Kokkos::Experimental; + return Impl::transform_inclusive_scan_team_impl( + teamHandle, KE::cbegin(view_from), KE::cend(view_from), + KE::begin(view_dest), binary_op, unary_op); +} + +// overload set 2 (init value) +template && + Kokkos::is_team_handle_v, + int> = 0> +KOKKOS_FUNCTION OutputIteratorType transform_inclusive_scan( + const TeamHandleType& teamHandle, InputIteratorType first, + InputIteratorType last, OutputIteratorType first_dest, + BinaryOpType binary_op, UnaryOpType unary_op, ValueType init_value) { + Impl::static_assert_is_not_openmptarget(teamHandle); + static_assert(std::is_move_constructible_v, + "ValueType must be move constructible."); + + return Impl::transform_inclusive_scan_team_impl( + teamHandle, first, last, first_dest, binary_op, unary_op, + std::move(init_value)); +} + +template , int> = 0> +KOKKOS_FUNCTION auto transform_inclusive_scan( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view_from, + const ::Kokkos::View& view_dest, + BinaryOpType binary_op, UnaryOpType unary_op, ValueType init_value) { + Impl::static_assert_is_not_openmptarget(teamHandle); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_from); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view_dest); + static_assert(std::is_move_constructible_v, + "ValueType must be move constructible."); + + namespace KE = ::Kokkos::Experimental; + return Impl::transform_inclusive_scan_team_impl( + teamHandle, KE::cbegin(view_from), KE::cend(view_from), + KE::begin(view_dest), binary_op, unary_op, std::move(init_value)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_TransformReduce.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_TransformReduce.hpp index b5ec9066d2..101f5113f6 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_TransformReduce.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_TransformReduce.hpp @@ -23,34 +23,44 @@ namespace Kokkos { namespace Experimental { +// +// overload set accepting execution space +// + // ---------------------------- // overload set1: // no custom functors passed, so equivalent to // transform_reduce(first1, last1, first2, init, plus<>(), multiplies<>()); // ---------------------------- -template +template ::value, + int> = 0> ValueType transform_reduce(const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, IteratorType2 first2, ValueType init_reduction_value) { - return Impl::transform_reduce_default_functors_impl( + return Impl::transform_reduce_default_functors_exespace_impl( "Kokkos::transform_reduce_default_functors_iterator_api", ex, first1, last1, first2, std::move(init_reduction_value)); } -template +template ::value, + int> = 0> ValueType transform_reduce(const std::string& label, const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, IteratorType2 first2, ValueType init_reduction_value) { - return Impl::transform_reduce_default_functors_impl( + return Impl::transform_reduce_default_functors_exespace_impl( label, ex, first1, last1, first2, std::move(init_reduction_value)); } // overload1 accepting views -template +template ::value, + int> = 0> ValueType transform_reduce( const ExecutionSpace& ex, const ::Kokkos::View& first_view, @@ -60,14 +70,16 @@ ValueType transform_reduce( Impl::static_assert_is_admissible_to_kokkos_std_algorithms(first_view); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(second_view); - return Impl::transform_reduce_default_functors_impl( + return Impl::transform_reduce_default_functors_exespace_impl( "Kokkos::transform_reduce_default_functors_iterator_api", ex, KE::cbegin(first_view), KE::cend(first_view), KE::cbegin(second_view), std::move(init_reduction_value)); } -template +template ::value, + int> = 0> ValueType transform_reduce( const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& first_view, @@ -77,7 +89,7 @@ ValueType transform_reduce( Impl::static_assert_is_admissible_to_kokkos_std_algorithms(first_view); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(second_view); - return Impl::transform_reduce_default_functors_impl( + return Impl::transform_reduce_default_functors_exespace_impl( label, ex, KE::cbegin(first_view), KE::cend(first_view), KE::cbegin(second_view), std::move(init_reduction_value)); } @@ -95,8 +107,11 @@ ValueType transform_reduce( // https://en.cppreference.com/w/cpp/algorithm/transform_reduce // api accepting iterators -template +template < + typename ExecutionSpace, typename IteratorType1, typename IteratorType2, + typename ValueType, typename BinaryJoinerType, typename BinaryTransform, + std::enable_if_t<::Kokkos::is_execution_space::value, int> = + 0> ValueType transform_reduce(const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, IteratorType2 first2, ValueType init_reduction_value, @@ -105,14 +120,17 @@ ValueType transform_reduce(const ExecutionSpace& ex, IteratorType1 first1, static_assert(std::is_move_constructible::value, "ValueType must be move constructible."); - return Impl::transform_reduce_custom_functors_impl( + return Impl::transform_reduce_custom_functors_exespace_impl( "Kokkos::transform_reduce_custom_functors_iterator_api", ex, first1, last1, first2, std::move(init_reduction_value), std::move(joiner), std::move(transformer)); } -template +template < + typename ExecutionSpace, typename IteratorType1, typename IteratorType2, + typename ValueType, typename BinaryJoinerType, typename BinaryTransform, + std::enable_if_t<::Kokkos::is_execution_space::value, int> = + 0> ValueType transform_reduce(const std::string& label, const ExecutionSpace& ex, IteratorType1 first1, IteratorType1 last1, IteratorType2 first2, ValueType init_reduction_value, @@ -121,15 +139,17 @@ ValueType transform_reduce(const std::string& label, const ExecutionSpace& ex, static_assert(std::is_move_constructible::value, "ValueType must be move constructible."); - return Impl::transform_reduce_custom_functors_impl( + return Impl::transform_reduce_custom_functors_exespace_impl( label, ex, first1, last1, first2, std::move(init_reduction_value), std::move(joiner), std::move(transformer)); } // accepting views -template +template ::value, + int> = 0> ValueType transform_reduce( const ExecutionSpace& ex, const ::Kokkos::View& first_view, @@ -143,16 +163,18 @@ ValueType transform_reduce( Impl::static_assert_is_admissible_to_kokkos_std_algorithms(first_view); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(second_view); - return Impl::transform_reduce_custom_functors_impl( + return Impl::transform_reduce_custom_functors_exespace_impl( "Kokkos::transform_reduce_custom_functors_view_api", ex, KE::cbegin(first_view), KE::cend(first_view), KE::cbegin(second_view), std::move(init_reduction_value), std::move(joiner), std::move(transformer)); } -template +template ::value, + int> = 0> ValueType transform_reduce( const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& first_view, @@ -166,7 +188,7 @@ ValueType transform_reduce( Impl::static_assert_is_admissible_to_kokkos_std_algorithms(first_view); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(second_view); - return Impl::transform_reduce_custom_functors_impl( + return Impl::transform_reduce_custom_functors_exespace_impl( label, ex, KE::cbegin(first_view), KE::cend(first_view), KE::cbegin(second_view), std::move(init_reduction_value), std::move(joiner), std::move(transformer)); @@ -176,43 +198,50 @@ ValueType transform_reduce( // overload set3: // // accepting iterators -template -// need this to avoid ambiguous call -std::enable_if_t< - ::Kokkos::Experimental::Impl::are_iterators::value, ValueType> -transform_reduce(const ExecutionSpace& ex, IteratorType first1, - IteratorType last1, ValueType init_reduction_value, - BinaryJoinerType joiner, UnaryTransform transformer) { +template ::value && + is_execution_space::value, + int> = 0> +ValueType transform_reduce(const ExecutionSpace& ex, IteratorType first1, + IteratorType last1, ValueType init_reduction_value, + BinaryJoinerType joiner, + UnaryTransform transformer) { static_assert(std::is_move_constructible::value, "ValueType must be move constructible."); - return Impl::transform_reduce_custom_functors_impl( + return Impl::transform_reduce_custom_functors_exespace_impl( "Kokkos::transform_reduce_custom_functors_iterator_api", ex, first1, last1, std::move(init_reduction_value), std::move(joiner), std::move(transformer)); } -template -// need this to avoid ambiguous call -std::enable_if_t< - ::Kokkos::Experimental::Impl::are_iterators::value, ValueType> -transform_reduce(const std::string& label, const ExecutionSpace& ex, - IteratorType first1, IteratorType last1, - ValueType init_reduction_value, BinaryJoinerType joiner, - UnaryTransform transformer) { +template ::value && + is_execution_space::value, + int> = 0> +ValueType transform_reduce(const std::string& label, const ExecutionSpace& ex, + IteratorType first1, IteratorType last1, + ValueType init_reduction_value, + BinaryJoinerType joiner, + UnaryTransform transformer) { static_assert(std::is_move_constructible::value, "ValueType must be move constructible."); - return Impl::transform_reduce_custom_functors_impl( + return Impl::transform_reduce_custom_functors_exespace_impl( label, ex, first1, last1, std::move(init_reduction_value), std::move(joiner), std::move(transformer)); } // accepting views -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename ValueType, typename BinaryJoinerType, typename UnaryTransform, + std::enable_if_t<::Kokkos::is_execution_space::value, int> = + 0> ValueType transform_reduce(const ExecutionSpace& ex, const ::Kokkos::View& view, ValueType init_reduction_value, @@ -224,14 +253,17 @@ ValueType transform_reduce(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::transform_reduce_custom_functors_impl( + return Impl::transform_reduce_custom_functors_exespace_impl( "Kokkos::transform_reduce_custom_functors_view_api", ex, KE::cbegin(view), KE::cend(view), std::move(init_reduction_value), std::move(joiner), std::move(transformer)); } -template +template < + typename ExecutionSpace, typename DataType, typename... Properties, + typename ValueType, typename BinaryJoinerType, typename UnaryTransform, + std::enable_if_t<::Kokkos::is_execution_space::value, int> = + 0> ValueType transform_reduce(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, ValueType init_reduction_value, @@ -243,12 +275,154 @@ ValueType transform_reduce(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::transform_reduce_custom_functors_impl( + return Impl::transform_reduce_custom_functors_exespace_impl( label, ex, KE::cbegin(view), KE::cend(view), std::move(init_reduction_value), std::move(joiner), std::move(transformer)); } +// +// overload set accepting a team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// + +// ---------------------------- +// overload set1: +// no custom functors passed, so equivalent to +// transform_reduce(first1, last1, first2, init, plus<>(), multiplies<>()); +// ---------------------------- +template < + typename TeamHandleType, typename IteratorType1, typename IteratorType2, + typename ValueType, + std::enable_if_t<::Kokkos::is_team_handle::value, int> = 0> +KOKKOS_FUNCTION ValueType transform_reduce(const TeamHandleType& teamHandle, + IteratorType1 first1, + IteratorType1 last1, + IteratorType2 first2, + ValueType init_reduction_value) { + return Impl::transform_reduce_default_functors_team_impl( + teamHandle, first1, last1, first2, std::move(init_reduction_value)); +} + +// overload1 accepting views +template < + typename TeamHandleType, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename ValueType, + std::enable_if_t<::Kokkos::is_team_handle::value, int> = 0> +KOKKOS_FUNCTION ValueType +transform_reduce(const TeamHandleType& teamHandle, + const ::Kokkos::View& first_view, + const ::Kokkos::View& second_view, + ValueType init_reduction_value) { + namespace KE = ::Kokkos::Experimental; + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(first_view); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(second_view); + + return Impl::transform_reduce_default_functors_team_impl( + teamHandle, KE::cbegin(first_view), KE::cend(first_view), + KE::cbegin(second_view), std::move(init_reduction_value)); +} + +// +// overload set2: +// accepts a custom transform and joiner functor +// + +// Note the std refers to the arg BinaryReductionOp +// but in the Kokkos naming convention, it corresponds +// to a "joiner" that knows how to join two values +// NOTE: "joiner/transformer" need to be commutative. + +// https://en.cppreference.com/w/cpp/algorithm/transform_reduce + +// api accepting iterators +template < + typename TeamHandleType, typename IteratorType1, typename IteratorType2, + typename ValueType, typename BinaryJoinerType, typename BinaryTransform, + std::enable_if_t<::Kokkos::is_team_handle::value, int> = 0> +KOKKOS_FUNCTION ValueType transform_reduce( + const TeamHandleType& teamHandle, IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2, ValueType init_reduction_value, + BinaryJoinerType joiner, BinaryTransform transformer) { + static_assert(std::is_move_constructible::value, + "ValueType must be move constructible."); + + return Impl::transform_reduce_custom_functors_team_impl( + teamHandle, first1, last1, first2, std::move(init_reduction_value), + std::move(joiner), std::move(transformer)); +} + +// accepting views +template < + typename TeamHandleType, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename ValueType, + typename BinaryJoinerType, typename BinaryTransform, + std::enable_if_t<::Kokkos::is_team_handle::value, int> = 0> +KOKKOS_FUNCTION ValueType +transform_reduce(const TeamHandleType& teamHandle, + const ::Kokkos::View& first_view, + const ::Kokkos::View& second_view, + ValueType init_reduction_value, BinaryJoinerType joiner, + BinaryTransform transformer) { + namespace KE = ::Kokkos::Experimental; + static_assert(std::is_move_constructible::value, + "ValueType must be move constructible."); + + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(first_view); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(second_view); + + return Impl::transform_reduce_custom_functors_team_impl( + teamHandle, KE::cbegin(first_view), KE::cend(first_view), + KE::cbegin(second_view), std::move(init_reduction_value), + std::move(joiner), std::move(transformer)); +} + +// +// overload set3: +// +// accepting iterators +template ::value && + is_team_handle::value, + int> = 0> +KOKKOS_FUNCTION ValueType transform_reduce(const TeamHandleType& teamHandle, + IteratorType first1, + IteratorType last1, + ValueType init_reduction_value, + BinaryJoinerType joiner, + UnaryTransform transformer) { + static_assert(std::is_move_constructible::value, + "ValueType must be move constructible."); + + return Impl::transform_reduce_custom_functors_team_impl( + teamHandle, first1, last1, std::move(init_reduction_value), + std::move(joiner), std::move(transformer)); +} + +// accepting views +template < + typename TeamHandleType, typename DataType, typename... Properties, + typename ValueType, typename BinaryJoinerType, typename UnaryTransform, + std::enable_if_t<::Kokkos::is_team_handle::value, int> = 0> +KOKKOS_FUNCTION ValueType +transform_reduce(const TeamHandleType& teamHandle, + const ::Kokkos::View& view, + ValueType init_reduction_value, BinaryJoinerType joiner, + UnaryTransform transformer) { + namespace KE = ::Kokkos::Experimental; + static_assert(std::is_move_constructible::value, + "ValueType must be move constructible."); + + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); + + return Impl::transform_reduce_custom_functors_team_impl( + teamHandle, KE::cbegin(view), KE::cend(view), + std::move(init_reduction_value), std::move(joiner), + std::move(transformer)); +} + } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Unique.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Unique.hpp index b47ecffb20..2d56315f61 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Unique.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Unique.hpp @@ -23,71 +23,132 @@ namespace Kokkos { namespace Experimental { -// note: the enable_if below is to avoid "call to ... is ambiguous" -// for example in the unit test when using a variadic function - -// overload set1 -template -std::enable_if_t::value, IteratorType> unique( - const ExecutionSpace& ex, IteratorType first, IteratorType last) { - return Impl::unique_impl("Kokkos::unique_iterator_api_default", ex, first, - last); +// +// overload set1: default predicate, accepting execution space +// +template && + is_execution_space::value, + int> = 0> +IteratorType unique(const ExecutionSpace& ex, IteratorType first, + IteratorType last) { + return Impl::unique_exespace_impl("Kokkos::unique_iterator_api_default", ex, + first, last); } -template -std::enable_if_t::value, IteratorType> unique( - const std::string& label, const ExecutionSpace& ex, IteratorType first, - IteratorType last) { - return Impl::unique_impl(label, ex, first, last); +template && + is_execution_space::value, + int> = 0> +IteratorType unique(const std::string& label, const ExecutionSpace& ex, + IteratorType first, IteratorType last) { + return Impl::unique_exespace_impl(label, ex, first, last); } -template +template ::value, int> = 0> auto unique(const ExecutionSpace& ex, const ::Kokkos::View& view) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return ::Kokkos::Experimental::unique("Kokkos::unique_view_api_default", ex, - begin(view), end(view)); + return Impl::unique_exespace_impl("Kokkos::unique_view_api_default", ex, + begin(view), end(view)); } -template +template ::value, int> = 0> auto unique(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return ::Kokkos::Experimental::unique(label, ex, begin(view), end(view)); + return Impl::unique_exespace_impl(label, ex, begin(view), end(view)); } -// overload set2 -template +// +// overload set2: custom predicate, accepting execution space +// +template ::value, int> = 0> IteratorType unique(const ExecutionSpace& ex, IteratorType first, IteratorType last, BinaryPredicate pred) { - return Impl::unique_impl("Kokkos::unique_iterator_api_default", ex, first, - last, pred); + return Impl::unique_exespace_impl("Kokkos::unique_iterator_api_default", ex, + first, last, pred); } -template +template ::value, int> = 0> IteratorType unique(const std::string& label, const ExecutionSpace& ex, IteratorType first, IteratorType last, BinaryPredicate pred) { - return Impl::unique_impl(label, ex, first, last, pred); + return Impl::unique_exespace_impl(label, ex, first, last, pred); } -template +template ::value, int> = 0> auto unique(const ExecutionSpace& ex, const ::Kokkos::View& view, BinaryPredicate pred) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::unique_impl("Kokkos::unique_view_api_default", ex, begin(view), - end(view), std::move(pred)); + return Impl::unique_exespace_impl("Kokkos::unique_view_api_default", ex, + begin(view), end(view), std::move(pred)); } -template +template ::value, int> = 0> auto unique(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view, BinaryPredicate pred) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view); - return Impl::unique_impl(label, ex, begin(view), end(view), std::move(pred)); + return Impl::unique_exespace_impl(label, ex, begin(view), end(view), + std::move(pred)); +} + +// +// overload set3: default predicate, accepting team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template && + is_team_handle::value, + int> = 0> +KOKKOS_FUNCTION IteratorType unique(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last) { + return Impl::unique_team_impl(teamHandle, first, last); +} + +template ::value, int> = 0> +KOKKOS_FUNCTION auto unique( + const TeamHandleType& teamHandle, + const ::Kokkos::View& view) { + return Impl::unique_team_impl(teamHandle, begin(view), end(view)); +} + +// +// overload set4: custom predicate, accepting team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template ::value, int> = 0> +KOKKOS_FUNCTION IteratorType unique(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last, + BinaryPredicate pred) { + return Impl::unique_team_impl(teamHandle, first, last, std::move(pred)); +} + +template ::value, int> = 0> +KOKKOS_FUNCTION auto unique(const TeamHandleType& teamHandle, + const ::Kokkos::View& view, + BinaryPredicate pred) { + return Impl::unique_team_impl(teamHandle, begin(view), end(view), + std::move(pred)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_UniqueCopy.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_UniqueCopy.hpp index bd2451c220..4a32d7e095 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_UniqueCopy.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_UniqueCopy.hpp @@ -23,67 +23,90 @@ namespace Kokkos { namespace Experimental { -// overload set1 -template -std::enable_if_t::value, OutputIterator> -unique_copy(const ExecutionSpace& ex, InputIterator first, InputIterator last, - OutputIterator d_first) { - return Impl::unique_copy_impl("Kokkos::unique_copy_iterator_api_default", ex, - first, last, d_first); +// +// overload set1: default predicate, accepting execution space +// +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + std::enable_if_t && + is_execution_space_v, + int> = 0> +OutputIterator unique_copy(const ExecutionSpace& ex, InputIterator first, + InputIterator last, OutputIterator d_first) { + return Impl::unique_copy_exespace_impl( + "Kokkos::unique_copy_iterator_api_default", ex, first, last, d_first); } -template -std::enable_if_t::value, OutputIterator> -unique_copy(const std::string& label, const ExecutionSpace& ex, - InputIterator first, InputIterator last, OutputIterator d_first) { - return Impl::unique_copy_impl(label, ex, first, last, d_first); +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + std::enable_if_t && + is_execution_space_v, + int> = 0> +OutputIterator unique_copy(const std::string& label, const ExecutionSpace& ex, + InputIterator first, InputIterator last, + OutputIterator d_first) { + return Impl::unique_copy_exespace_impl(label, ex, first, last, d_first); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto unique_copy(const ExecutionSpace& ex, const ::Kokkos::View& source, const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); - return ::Kokkos::Experimental::unique_copy( - "Kokkos::unique_copy_view_api_default", ex, cbegin(source), cend(source), - begin(dest)); + return Impl::unique_copy_exespace_impl("Kokkos::unique_copy_view_api_default", + ex, cbegin(source), cend(source), + begin(dest)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto unique_copy(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); - return ::Kokkos::Experimental::unique_copy(label, ex, cbegin(source), - cend(source), begin(dest)); + return Impl::unique_copy_exespace_impl(label, ex, cbegin(source), + cend(source), begin(dest)); } -// overload set2 -template +// +// overload set2: custom predicate, accepting execution space +// + +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + typename BinaryPredicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator unique_copy(const ExecutionSpace& ex, InputIterator first, InputIterator last, OutputIterator d_first, BinaryPredicate pred) { - return Impl::unique_copy_impl("Kokkos::unique_copy_iterator_api_default", ex, - first, last, d_first, pred); + return Impl::unique_copy_exespace_impl( + "Kokkos::unique_copy_iterator_api_default", ex, first, last, d_first, + pred); } -template +template < + typename ExecutionSpace, typename InputIterator, typename OutputIterator, + typename BinaryPredicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> OutputIterator unique_copy(const std::string& label, const ExecutionSpace& ex, InputIterator first, InputIterator last, OutputIterator d_first, BinaryPredicate pred) { - return Impl::unique_copy_impl(label, ex, first, last, d_first, pred); + return Impl::unique_copy_exespace_impl(label, ex, first, last, d_first, pred); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename BinaryPredicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto unique_copy(const ExecutionSpace& ex, const ::Kokkos::View& source, const ::Kokkos::View& dest, @@ -91,13 +114,15 @@ auto unique_copy(const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); - return Impl::unique_copy_impl("Kokkos::unique_copy_view_api_default", ex, - cbegin(source), cend(source), begin(dest), - std::move(pred)); + return Impl::unique_copy_exespace_impl("Kokkos::unique_copy_view_api_default", + ex, cbegin(source), cend(source), + begin(dest), std::move(pred)); } -template +template < + typename ExecutionSpace, typename DataType1, typename... Properties1, + typename DataType2, typename... Properties2, typename BinaryPredicate, + std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto unique_copy(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, const ::Kokkos::View& dest, @@ -105,8 +130,70 @@ auto unique_copy(const std::string& label, const ExecutionSpace& ex, Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); - return Impl::unique_copy_impl(label, ex, cbegin(source), cend(source), - begin(dest), std::move(pred)); + return Impl::unique_copy_exespace_impl( + label, ex, cbegin(source), cend(source), begin(dest), std::move(pred)); +} + +// +// overload set3: default predicate, accepting team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template < + typename TeamHandleType, typename InputIterator, typename OutputIterator, + std::enable_if_t && + Kokkos::is_team_handle_v, + int> = 0> +KOKKOS_FUNCTION OutputIterator unique_copy(const TeamHandleType& teamHandle, + InputIterator first, + InputIterator last, + OutputIterator d_first) { + return Impl::unique_copy_team_impl(teamHandle, first, last, d_first); +} + +template , int> = 0> +KOKKOS_FUNCTION auto unique_copy( + const TeamHandleType& teamHandle, + const ::Kokkos::View& source, + const ::Kokkos::View& dest) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); + + return Impl::unique_copy_team_impl(teamHandle, cbegin(source), cend(source), + begin(dest)); +} + +// +// overload set4: custom predicate, accepting team handle +// Note: for now omit the overloads accepting a label +// since they cause issues on device because of the string allocation. +// +template , int> = 0> +KOKKOS_FUNCTION OutputIterator unique_copy(const TeamHandleType& teamHandle, + InputIterator first, + InputIterator last, + OutputIterator d_first, + BinaryPredicate pred) { + return Impl::unique_copy_team_impl(teamHandle, first, last, d_first, pred); +} + +template , int> = 0> +KOKKOS_FUNCTION auto unique_copy( + const TeamHandleType& teamHandle, + const ::Kokkos::View& source, + const ::Kokkos::View& dest, + BinaryPredicate pred) { + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); + Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); + + return Impl::unique_copy_team_impl(teamHandle, cbegin(source), cend(source), + begin(dest), std::move(pred)); } } // namespace Experimental diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_AdjacentDifference.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_AdjacentDifference.hpp index 8a474508d7..a8171fa068 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_AdjacentDifference.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_AdjacentDifference.hpp @@ -63,14 +63,15 @@ struct StdAdjacentDiffFunctor { m_op(std::move(op)) {} }; +// +// exespace impl +// template -OutputIteratorType adjacent_difference_impl(const std::string& label, - const ExecutionSpace& ex, - InputIteratorType first_from, - InputIteratorType last_from, - OutputIteratorType first_dest, - BinaryOp bin_op) { +OutputIteratorType adjacent_difference_exespace_impl( + const std::string& label, const ExecutionSpace& ex, + InputIteratorType first_from, InputIteratorType last_from, + OutputIteratorType first_dest, BinaryOp bin_op) { // checks Impl::static_assert_random_access_and_accessible(ex, first_from, first_dest); Impl::static_assert_iterators_have_matching_difference_type(first_from, @@ -81,20 +82,45 @@ OutputIteratorType adjacent_difference_impl(const std::string& label, return first_dest; } - // aliases - using value_type = typename OutputIteratorType::value_type; - using aux_view_type = ::Kokkos::View; - using functor_t = - StdAdjacentDiffFunctor; + // run + const auto num_elements = + Kokkos::Experimental::distance(first_from, last_from); + ::Kokkos::parallel_for( + label, RangePolicy(ex, 0, num_elements), + StdAdjacentDiffFunctor(first_from, first_dest, bin_op)); + ex.fence("Kokkos::adjacent_difference: fence after operation"); + + // return + return first_dest + num_elements; +} + +// +// team impl +// +template +KOKKOS_FUNCTION OutputIteratorType adjacent_difference_team_impl( + const TeamHandleType& teamHandle, InputIteratorType first_from, + InputIteratorType last_from, OutputIteratorType first_dest, + BinaryOp bin_op) { + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first_from, + first_dest); + Impl::static_assert_iterators_have_matching_difference_type(first_from, + first_dest); + Impl::expect_valid_range(first_from, last_from); + + if (first_from == last_from) { + return first_dest; + } // run const auto num_elements = Kokkos::Experimental::distance(first_from, last_from); - aux_view_type aux_view("aux_view", num_elements); - ::Kokkos::parallel_for(label, - RangePolicy(ex, 0, num_elements), - functor_t(first_from, first_dest, bin_op)); - ex.fence("Kokkos::adjacent_difference: fence after operation"); + ::Kokkos::parallel_for( + TeamThreadRange(teamHandle, 0, num_elements), + StdAdjacentDiffFunctor(first_from, first_dest, bin_op)); + teamHandle.team_barrier(); // return return first_dest + num_elements; diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_AdjacentFind.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_AdjacentFind.hpp index dd785e603b..f30b7be06a 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_AdjacentFind.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_AdjacentFind.hpp @@ -27,9 +27,9 @@ namespace Kokkos { namespace Experimental { namespace Impl { -template +template struct StdAdjacentFindFunctor { + using index_type = typename IteratorType::difference_type; using red_value_type = typename ReducerType::value_type; IteratorType m_first; @@ -37,13 +37,13 @@ struct StdAdjacentFindFunctor { PredicateType m_p; KOKKOS_FUNCTION - void operator()(const IndexType i, red_value_type& red_value) const { + void operator()(const index_type i, red_value_type& red_value) const { const auto& my_value = m_first[i]; const auto& next_value = m_first[i + 1]; const bool are_equal = m_p(my_value, next_value); // FIXME_NVHPC using a ternary operator causes problems - red_value_type value = {::Kokkos::reduction_identity::min()}; + red_value_type value = {::Kokkos::reduction_identity::min()}; if (are_equal) { value.min_loc_true = i; } @@ -59,10 +59,14 @@ struct StdAdjacentFindFunctor { m_p(std::move(p)) {} }; +// +// exespace impl +// template -IteratorType adjacent_find_impl(const std::string& label, - const ExecutionSpace& ex, IteratorType first, - IteratorType last, PredicateType pred) { +IteratorType adjacent_find_exespace_impl(const std::string& label, + const ExecutionSpace& ex, + IteratorType first, IteratorType last, + PredicateType pred) { // checks Impl::static_assert_random_access_and_accessible(ex, first); Impl::expect_valid_range(first, last); @@ -76,8 +80,6 @@ IteratorType adjacent_find_impl(const std::string& label, using index_type = typename IteratorType::difference_type; using reducer_type = FirstLoc; using reduction_value_type = typename reducer_type::value_type; - using func_t = StdAdjacentFindFunctor; reduction_value_type red_result; reducer_type reducer(red_result); @@ -86,7 +88,8 @@ IteratorType adjacent_find_impl(const std::string& label, // each index i in the reduction checks i and (i+1). ::Kokkos::parallel_reduce( label, RangePolicy(ex, 0, num_elements - 1), - func_t(first, reducer, pred), reducer); + // use CTAD + StdAdjacentFindFunctor(first, reducer, pred), reducer); // fence not needed because reducing into scalar if (red_result.min_loc_true == @@ -98,12 +101,62 @@ IteratorType adjacent_find_impl(const std::string& label, } template -IteratorType adjacent_find_impl(const std::string& label, - const ExecutionSpace& ex, IteratorType first, - IteratorType last) { +IteratorType adjacent_find_exespace_impl(const std::string& label, + const ExecutionSpace& ex, + IteratorType first, + IteratorType last) { using value_type = typename IteratorType::value_type; using default_pred_t = StdAlgoEqualBinaryPredicate; - return adjacent_find_impl(label, ex, first, last, default_pred_t()); + return adjacent_find_exespace_impl(label, ex, first, last, default_pred_t()); +} + +// +// team impl +// +template +KOKKOS_FUNCTION IteratorType +adjacent_find_team_impl(const TeamHandleType& teamHandle, IteratorType first, + IteratorType last, PredicateType pred) { + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first); + Impl::expect_valid_range(first, last); + + const auto num_elements = Kokkos::Experimental::distance(first, last); + + if (num_elements <= 1) { + return last; + } + + using index_type = typename IteratorType::difference_type; + using reducer_type = FirstLoc; + using reduction_value_type = typename reducer_type::value_type; + + reduction_value_type red_result; + reducer_type reducer(red_result); + + // note that we use below num_elements-1 because + // each index i in the reduction checks i and (i+1). + ::Kokkos::parallel_reduce(TeamThreadRange(teamHandle, 0, num_elements - 1), + // use CTAD + StdAdjacentFindFunctor(first, reducer, pred), + reducer); + + teamHandle.team_barrier(); + + if (red_result.min_loc_true == + ::Kokkos::reduction_identity::min()) { + return last; + } else { + return first + red_result.min_loc_true; + } +} + +template +KOKKOS_FUNCTION IteratorType adjacent_find_team_impl( + const TeamHandleType& teamHandle, IteratorType first, IteratorType last) { + using value_type = typename IteratorType::value_type; + using default_pred_t = StdAlgoEqualBinaryPredicate; + return adjacent_find_team_impl(teamHandle, first, last, default_pred_t()); } } // namespace Impl diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_AllOfAnyOfNoneOf.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_AllOfAnyOfNoneOf.hpp index ad562070a0..bdc050f9c1 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_AllOfAnyOfNoneOf.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_AllOfAnyOfNoneOf.hpp @@ -23,23 +23,58 @@ namespace Kokkos { namespace Experimental { namespace Impl { +// +// exespace impl +// template -bool all_of_impl(const std::string& label, const ExecutionSpace& ex, - InputIterator first, InputIterator last, Predicate predicate) { - return (find_if_or_not_impl(label, ex, first, last, predicate) == - last); +bool all_of_exespace_impl(const std::string& label, const ExecutionSpace& ex, + InputIterator first, InputIterator last, + Predicate predicate) { + return (find_if_or_not_exespace_impl(label, ex, first, last, + predicate) == last); } template -bool any_of_impl(const std::string& label, const ExecutionSpace& ex, - InputIterator first, InputIterator last, Predicate predicate) { - return (find_if_or_not_impl(label, ex, first, last, predicate) != last); +bool any_of_exespace_impl(const std::string& label, const ExecutionSpace& ex, + InputIterator first, InputIterator last, + Predicate predicate) { + return (find_if_or_not_exespace_impl(label, ex, first, last, + predicate) != last); } template -bool none_of_impl(const std::string& label, const ExecutionSpace& ex, - IteratorType first, IteratorType last, Predicate predicate) { - return (find_if_or_not_impl(label, ex, first, last, predicate) == last); +bool none_of_exespace_impl(const std::string& label, const ExecutionSpace& ex, + IteratorType first, IteratorType last, + Predicate predicate) { + return (find_if_or_not_exespace_impl(label, ex, first, last, + predicate) == last); +} + +// +// team impl +// +template +KOKKOS_FUNCTION bool all_of_team_impl(const TeamHandleType& teamHandle, + InputIterator first, InputIterator last, + Predicate predicate) { + return (find_if_or_not_team_impl(teamHandle, first, last, predicate) == + last); +} + +template +KOKKOS_FUNCTION bool any_of_team_impl(const TeamHandleType& teamHandle, + InputIterator first, InputIterator last, + Predicate predicate) { + return (find_if_or_not_team_impl(teamHandle, first, last, predicate) != + last); +} + +template +KOKKOS_FUNCTION bool none_of_team_impl(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last, + Predicate predicate) { + return (find_if_or_not_team_impl(teamHandle, first, last, predicate) == + last); } } // namespace Impl diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Constraints.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Constraints.hpp index 0376100410..27ce5a6fad 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Constraints.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Constraints.hpp @@ -55,6 +55,9 @@ using iterator_category_t = typename T::iterator_category; template using is_iterator = Kokkos::is_detected; +template +inline constexpr bool is_iterator_v = is_iterator::value; + // // are_iterators // @@ -63,15 +66,18 @@ struct are_iterators; template struct are_iterators { - static constexpr bool value = is_iterator::value; + static constexpr bool value = is_iterator_v; }; template struct are_iterators { static constexpr bool value = - are_iterators::value && are_iterators::value; + are_iterators::value && (are_iterators::value && ... && true); }; +template +inline constexpr bool are_iterators_v = are_iterators::value; + // // are_random_access_iterators // @@ -81,17 +87,21 @@ struct are_random_access_iterators; template struct are_random_access_iterators { static constexpr bool value = - is_iterator::value && - std::is_base_of::value; + is_iterator_v && std::is_base_of::value; }; template struct are_random_access_iterators { - static constexpr bool value = are_random_access_iterators::value && - are_random_access_iterators::value; + static constexpr bool value = + are_random_access_iterators::value && + (are_random_access_iterators::value && ... && true); }; +template +inline constexpr bool are_random_access_iterators_v = + are_random_access_iterators::value; + // // iterators_are_accessible_from // @@ -113,16 +123,18 @@ struct iterators_are_accessible_from { iterators_are_accessible_from::value; }; -template +template KOKKOS_INLINE_FUNCTION constexpr void -static_assert_random_access_and_accessible(const ExecutionSpace& /* ex */, - IteratorTypes... /* iterators */) { +static_assert_random_access_and_accessible( + const ExecutionSpaceOrTeamHandleType& /* ex_or_th*/, + IteratorTypes... /* iterators */) { static_assert( are_random_access_iterators::value, "Currently, Kokkos standard algorithms require random access iterators."); - static_assert( - iterators_are_accessible_from::value, - "Incompatible view/iterator and execution space"); + static_assert(iterators_are_accessible_from< + typename ExecutionSpaceOrTeamHandleType::execution_space, + IteratorTypes...>::value, + "Incompatible view/iterator and execution space"); } // @@ -182,10 +194,10 @@ struct not_openmptarget { #endif }; -template +template KOKKOS_INLINE_FUNCTION constexpr void static_assert_is_not_openmptarget( - const ExecutionSpace&) { - static_assert(not_openmptarget::value, + const ExecutionSpaceOrTeamHandleType& /*ex_or_th*/) { + static_assert(not_openmptarget::value, "Currently, Kokkos standard algorithms do not support custom " "comparators in OpenMPTarget"); } @@ -194,7 +206,8 @@ KOKKOS_INLINE_FUNCTION constexpr void static_assert_is_not_openmptarget( // valid range // template -void expect_valid_range(IteratorType first, IteratorType last) { +KOKKOS_INLINE_FUNCTION void expect_valid_range(IteratorType first, + IteratorType last) { // this is a no-op for release KOKKOS_EXPECTS(last >= first); // avoid compiler complaining when KOKKOS_EXPECTS is no-op diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_CopyBackward.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_CopyBackward.hpp index b3adbc5e2d..0f68c9e978 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_CopyBackward.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_CopyBackward.hpp @@ -27,16 +27,18 @@ namespace Kokkos { namespace Experimental { namespace Impl { -template +template struct StdCopyBackwardFunctor { - static_assert(std::is_signed::value, - "Kokkos: StdCopyBackwardFunctor requires signed index type"); + // we can use difference type from IteratorType1 since + // the calling functions below already static assert that + // the iterators have matching difference type + using index_type = typename IteratorType1::difference_type; IteratorType1 m_last; IteratorType2 m_dest_last; KOKKOS_FUNCTION - void operator()(IndexType i) const { m_dest_last[-i - 1] = m_last[-i - 1]; } + void operator()(index_type i) const { m_dest_last[-i - 1] = m_last[-i - 1]; } KOKKOS_FUNCTION StdCopyBackwardFunctor(IteratorType1 _last, IteratorType2 _dest_last) @@ -44,30 +46,51 @@ struct StdCopyBackwardFunctor { }; template -IteratorType2 copy_backward_impl(const std::string& label, - const ExecutionSpace& ex, IteratorType1 first, - IteratorType1 last, IteratorType2 d_last) { +IteratorType2 copy_backward_exespace_impl(const std::string& label, + const ExecutionSpace& ex, + IteratorType1 first, + IteratorType1 last, + IteratorType2 d_last) { // checks Impl::static_assert_random_access_and_accessible(ex, first, d_last); Impl::static_assert_iterators_have_matching_difference_type(first, d_last); Impl::expect_valid_range(first, last); - // aliases - using index_type = typename IteratorType1::difference_type; - using func_t = - StdCopyBackwardFunctor; - // run const auto num_elements = Kokkos::Experimental::distance(first, last); ::Kokkos::parallel_for(label, RangePolicy(ex, 0, num_elements), - func_t(last, d_last)); + // use CTAD + StdCopyBackwardFunctor(last, d_last)); ex.fence("Kokkos::copy_backward: fence after operation"); // return return d_last - num_elements; } +// +// team-level impl +// +template +KOKKOS_FUNCTION IteratorType2 +copy_backward_team_impl(const TeamHandleType& teamHandle, IteratorType1 first, + IteratorType1 last, IteratorType2 d_last) { + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first, d_last); + Impl::static_assert_iterators_have_matching_difference_type(first, d_last); + Impl::expect_valid_range(first, last); + + // run + const auto num_elements = Kokkos::Experimental::distance(first, last); + ::Kokkos::parallel_for(TeamThreadRange(teamHandle, 0, num_elements), + // use CTAD + StdCopyBackwardFunctor(last, d_last)); + teamHandle.team_barrier(); + + // return + return d_last - num_elements; +} + } // namespace Impl } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_CopyCopyN.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_CopyCopyN.hpp index 1b120c46d0..86e99ecbd0 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_CopyCopyN.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_CopyCopyN.hpp @@ -27,13 +27,18 @@ namespace Kokkos { namespace Experimental { namespace Impl { -template +template struct StdCopyFunctor { + // we can use difference type from InputIterator since + // the calling functions below already static assert that + // the iterators have matching difference type + using index_type = typename InputIterator::difference_type; + InputIterator m_first; OutputIterator m_dest_first; KOKKOS_FUNCTION - void operator()(IndexType i) const { m_dest_first[i] = m_first[i]; } + void operator()(index_type i) const { m_dest_first[i] = m_first[i]; } KOKKOS_FUNCTION StdCopyFunctor(InputIterator _first, OutputIterator _dest_first) @@ -41,23 +46,20 @@ struct StdCopyFunctor { }; template -OutputIterator copy_impl(const std::string& label, const ExecutionSpace& ex, - InputIterator first, InputIterator last, - OutputIterator d_first) { +OutputIterator copy_exespace_impl(const std::string& label, + const ExecutionSpace& ex, InputIterator first, + InputIterator last, OutputIterator d_first) { // checks Impl::static_assert_random_access_and_accessible(ex, first, d_first); Impl::static_assert_iterators_have_matching_difference_type(first, d_first); Impl::expect_valid_range(first, last); - // aliases - using index_type = typename InputIterator::difference_type; - using func_t = StdCopyFunctor; - // run const auto num_elements = Kokkos::Experimental::distance(first, last); ::Kokkos::parallel_for(label, RangePolicy(ex, 0, num_elements), - func_t(first, d_first)); + // use CTAD + StdCopyFunctor(first, d_first)); ex.fence("Kokkos::copy: fence after operation"); // return @@ -66,16 +68,61 @@ OutputIterator copy_impl(const std::string& label, const ExecutionSpace& ex, template -OutputIterator copy_n_impl(const std::string& label, const ExecutionSpace& ex, - InputIterator first_from, Size count, - OutputIterator first_dest) { +OutputIterator copy_n_exespace_impl(const std::string& label, + const ExecutionSpace& ex, + InputIterator first_from, Size count, + OutputIterator first_dest) { // checks Impl::static_assert_random_access_and_accessible(ex, first_from, first_dest); Impl::static_assert_iterators_have_matching_difference_type(first_from, first_dest); if (count > 0) { - return copy_impl(label, ex, first_from, first_from + count, first_dest); + return copy_exespace_impl(label, ex, first_from, first_from + count, + first_dest); + } else { + return first_dest; + } +} + +// +// team-level impl +// +template +KOKKOS_FUNCTION OutputIterator copy_team_impl(const TeamHandleType& teamHandle, + InputIterator first, + InputIterator last, + OutputIterator d_first) { + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first, d_first); + Impl::static_assert_iterators_have_matching_difference_type(first, d_first); + Impl::expect_valid_range(first, last); + + // run + const auto num_elements = Kokkos::Experimental::distance(first, last); + ::Kokkos::parallel_for(TeamThreadRange(teamHandle, 0, num_elements), + // use CTAD + StdCopyFunctor(first, d_first)); + teamHandle.team_barrier(); + + // return + return d_first + num_elements; +} + +template +KOKKOS_FUNCTION OutputIterator +copy_n_team_impl(const TeamHandleType& teamHandle, InputIterator first_from, + Size count, OutputIterator first_dest) { + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first_from, + first_dest); + Impl::static_assert_iterators_have_matching_difference_type(first_from, + first_dest); + + if (count > 0) { + return copy_team_impl(teamHandle, first_from, first_from + count, + first_dest); } else { return first_dest; } diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_CopyIf.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_CopyIf.hpp index 3c0c4f7e9b..3c1e2474bc 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_CopyIf.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_CopyIf.hpp @@ -20,6 +20,7 @@ #include #include "Kokkos_Constraints.hpp" #include "Kokkos_HelperPredicates.hpp" +#include "Kokkos_MustUseKokkosSingleInTeam.hpp" #include #include @@ -27,8 +28,10 @@ namespace Kokkos { namespace Experimental { namespace Impl { -template +template struct StdCopyIfFunctor { + using index_type = typename FirstFrom::difference_type; + FirstFrom m_first_from; FirstDest m_first_dest; PredType m_pred; @@ -40,7 +43,7 @@ struct StdCopyIfFunctor { m_pred(std::move(pred)) {} KOKKOS_FUNCTION - void operator()(const IndexType i, IndexType& update, + void operator()(const index_type i, index_type& update, const bool final_pass) const { const auto& myval = m_first_from[i]; if (final_pass) { @@ -57,9 +60,11 @@ struct StdCopyIfFunctor { template -OutputIterator copy_if_impl(const std::string& label, const ExecutionSpace& ex, - InputIterator first, InputIterator last, - OutputIterator d_first, PredicateType pred) { +OutputIterator copy_if_exespace_impl(const std::string& label, + const ExecutionSpace& ex, + InputIterator first, InputIterator last, + OutputIterator d_first, + PredicateType pred) { /* To explain the impl, suppose that our data is: @@ -90,23 +95,67 @@ OutputIterator copy_if_impl(const std::string& label, const ExecutionSpace& ex, if (first == last) { return d_first; } else { - // aliases - using index_type = typename InputIterator::difference_type; - using func_type = StdCopyIfFunctor; - // run const auto num_elements = Kokkos::Experimental::distance(first, last); - index_type count = 0; + + typename InputIterator::difference_type count = 0; ::Kokkos::parallel_scan(label, RangePolicy(ex, 0, num_elements), - func_type(first, d_first, pred), count); + // use CTAD + StdCopyIfFunctor(first, d_first, pred), count); // fence not needed because of the scan accumulating into count return d_first + count; } } +template +KOKKOS_FUNCTION OutputIterator copy_if_team_impl( + const TeamHandleType& teamHandle, InputIterator first, InputIterator last, + OutputIterator d_first, PredicateType pred) { + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first, d_first); + Impl::static_assert_iterators_have_matching_difference_type(first, d_first); + Impl::expect_valid_range(first, last); + + if (first == last) { + return d_first; + } + + const std::size_t num_elements = Kokkos::Experimental::distance(first, last); + if constexpr (stdalgo_must_use_kokkos_single_for_team_scan_v< + typename TeamHandleType::execution_space>) { + std::size_t count = 0; + Kokkos::single( + Kokkos::PerTeam(teamHandle), + [=](std::size_t& lcount) { + lcount = 0; + for (std::size_t i = 0; i < num_elements; ++i) { + const auto& myval = first[i]; + if (pred(myval)) { + d_first[lcount++] = myval; + } + } + }, + count); + // no barrier needed since single above broadcasts to all members + return d_first + count; + + } else { + typename InputIterator::difference_type count = 0; + ::Kokkos::parallel_scan(TeamThreadRange(teamHandle, 0, num_elements), + StdCopyIfFunctor(first, d_first, pred), count); + // no barrier needed because of the scan accumulating into count + return d_first + count; + } + +#if defined KOKKOS_COMPILER_INTEL || \ + (defined(KOKKOS_COMPILER_NVCC) && KOKKOS_COMPILER_NVCC >= 1130) + __builtin_unreachable(); +#endif +} + } // namespace Impl } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_CountCountIf.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_CountCountIf.hpp index 18b8c46359..9b6b403aa4 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_CountCountIf.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_CountCountIf.hpp @@ -46,37 +46,65 @@ struct StdCountIfFunctor { }; template -typename IteratorType::difference_type count_if_impl(const std::string& label, - const ExecutionSpace& ex, - IteratorType first, - IteratorType last, - Predicate predicate) { +typename IteratorType::difference_type count_if_exespace_impl( + const std::string& label, const ExecutionSpace& ex, IteratorType first, + IteratorType last, Predicate predicate) { // checks Impl::static_assert_random_access_and_accessible(ex, first); Impl::expect_valid_range(first, last); - // aliases - using func_t = StdCountIfFunctor; - // run const auto num_elements = Kokkos::Experimental::distance(first, last); typename IteratorType::difference_type count = 0; ::Kokkos::parallel_reduce(label, RangePolicy(ex, 0, num_elements), - func_t(first, predicate), count); + // use CTAD + StdCountIfFunctor(first, predicate), count); ex.fence("Kokkos::count_if: fence after operation"); return count; } template -auto count_impl(const std::string& label, const ExecutionSpace& ex, - IteratorType first, IteratorType last, const T& value) { - return count_if_impl( +auto count_exespace_impl(const std::string& label, const ExecutionSpace& ex, + IteratorType first, IteratorType last, + const T& value) { + return count_if_exespace_impl( label, ex, first, last, ::Kokkos::Experimental::Impl::StdAlgoEqualsValUnaryPredicate(value)); } +// +// team-level impl +// +template +KOKKOS_FUNCTION typename IteratorType::difference_type count_if_team_impl( + const TeamHandleType& teamHandle, IteratorType first, IteratorType last, + Predicate predicate) { + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first); + Impl::expect_valid_range(first, last); + + // run + const auto num_elements = Kokkos::Experimental::distance(first, last); + typename IteratorType::difference_type count = 0; + ::Kokkos::parallel_reduce(TeamThreadRange(teamHandle, 0, num_elements), + // use CTAD + StdCountIfFunctor(first, predicate), count); + teamHandle.team_barrier(); + + return count; +} + +template +KOKKOS_FUNCTION auto count_team_impl(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last, + const T& value) { + return count_if_team_impl( + teamHandle, first, last, + ::Kokkos::Experimental::Impl::StdAlgoEqualsValUnaryPredicate(value)); +} + } // namespace Impl } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Equal.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Equal.hpp index e045080d4a..62b7d226f6 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Equal.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Equal.hpp @@ -27,15 +27,16 @@ namespace Kokkos { namespace Experimental { namespace Impl { -template +template struct StdEqualFunctor { + using index_type = typename IteratorType1::difference_type; + IteratorType1 m_first1; IteratorType2 m_first2; BinaryPredicateType m_predicate; KOKKOS_FUNCTION - void operator()(IndexType i, std::size_t& lsum) const { + void operator()(index_type i, std::size_t& lsum) const { if (!m_predicate(m_first1[i], m_first2[i])) { lsum = 1; } @@ -49,67 +50,130 @@ struct StdEqualFunctor { m_predicate(std::move(_predicate)) {} }; +// +// exespace impl +// template -bool equal_impl(const std::string& label, const ExecutionSpace& ex, - IteratorType1 first1, IteratorType1 last1, IteratorType2 first2, - BinaryPredicateType predicate) { +bool equal_exespace_impl(const std::string& label, const ExecutionSpace& ex, + IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2, BinaryPredicateType predicate) { // checks Impl::static_assert_random_access_and_accessible(ex, first1, first2); Impl::static_assert_iterators_have_matching_difference_type(first1, first2); Impl::expect_valid_range(first1, last1); - // aliases - using index_type = typename IteratorType1::difference_type; - using func_t = StdEqualFunctor; - // run const auto num_elements = Kokkos::Experimental::distance(first1, last1); std::size_t different = 0; - ::Kokkos::parallel_reduce(label, - RangePolicy(ex, 0, num_elements), - func_t(first1, first2, predicate), different); + ::Kokkos::parallel_reduce( + label, RangePolicy(ex, 0, num_elements), + StdEqualFunctor(first1, first2, predicate), different); ex.fence("Kokkos::equal: fence after operation"); return !different; } template -bool equal_impl(const std::string& label, const ExecutionSpace& ex, - IteratorType1 first1, IteratorType1 last1, - IteratorType2 first2) { +bool equal_exespace_impl(const std::string& label, const ExecutionSpace& ex, + IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2) { using value_type1 = typename IteratorType1::value_type; using value_type2 = typename IteratorType2::value_type; using pred_t = StdAlgoEqualBinaryPredicate; - return equal_impl(label, ex, first1, last1, first2, pred_t()); + return equal_exespace_impl(label, ex, first1, last1, first2, pred_t()); } template -bool equal_impl(const std::string& label, const ExecutionSpace& ex, - IteratorType1 first1, IteratorType1 last1, IteratorType2 first2, - IteratorType2 last2, BinaryPredicateType predicate) { +bool equal_exespace_impl(const std::string& label, const ExecutionSpace& ex, + IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2, IteratorType2 last2, + BinaryPredicateType predicate) { const auto d1 = ::Kokkos::Experimental::distance(first1, last1); const auto d2 = ::Kokkos::Experimental::distance(first2, last2); if (d1 != d2) { return false; } - return equal_impl(label, ex, first1, last1, first2, predicate); + return equal_exespace_impl(label, ex, first1, last1, first2, predicate); } template -bool equal_impl(const std::string& label, const ExecutionSpace& ex, - IteratorType1 first1, IteratorType1 last1, IteratorType2 first2, - IteratorType2 last2) { +bool equal_exespace_impl(const std::string& label, const ExecutionSpace& ex, + IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2, IteratorType2 last2) { Impl::expect_valid_range(first1, last1); Impl::expect_valid_range(first2, last2); using value_type1 = typename IteratorType1::value_type; using value_type2 = typename IteratorType2::value_type; using pred_t = StdAlgoEqualBinaryPredicate; - return equal_impl(label, ex, first1, last1, first2, last2, pred_t()); + return equal_exespace_impl(label, ex, first1, last1, first2, last2, pred_t()); +} + +// +// team impl +// +template +KOKKOS_FUNCTION bool equal_team_impl(const TeamHandleType& teamHandle, + IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2, + BinaryPredicateType predicate) { + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first1, first2); + Impl::static_assert_iterators_have_matching_difference_type(first1, first2); + Impl::expect_valid_range(first1, last1); + + // run + const auto num_elements = Kokkos::Experimental::distance(first1, last1); + std::size_t different = 0; + ::Kokkos::parallel_reduce(TeamThreadRange(teamHandle, 0, num_elements), + StdEqualFunctor(first1, first2, predicate), + different); + teamHandle.team_barrier(); + + return !different; +} + +template +KOKKOS_FUNCTION bool equal_team_impl(const TeamHandleType& teamHandle, + IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2) { + using value_type1 = typename IteratorType1::value_type; + using value_type2 = typename IteratorType2::value_type; + using pred_t = StdAlgoEqualBinaryPredicate; + return equal_team_impl(teamHandle, first1, last1, first2, pred_t()); +} + +template +KOKKOS_FUNCTION bool equal_team_impl(const TeamHandleType& teamHandle, + IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2, IteratorType2 last2, + BinaryPredicateType predicate) { + const auto d1 = ::Kokkos::Experimental::distance(first1, last1); + const auto d2 = ::Kokkos::Experimental::distance(first2, last2); + if (d1 != d2) { + return false; + } + + return equal_team_impl(teamHandle, first1, last1, first2, predicate); +} + +template +KOKKOS_FUNCTION bool equal_team_impl(const TeamHandleType& teamHandle, + IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2, + IteratorType2 last2) { + Impl::expect_valid_range(first1, last1); + Impl::expect_valid_range(first2, last2); + + using value_type1 = typename IteratorType1::value_type; + using value_type2 = typename IteratorType2::value_type; + using pred_t = StdAlgoEqualBinaryPredicate; + return equal_team_impl(teamHandle, first1, last1, first2, last2, pred_t()); } } // namespace Impl diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ExclusiveScan.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ExclusiveScan.hpp index 71f13e490a..6da992b4bb 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ExclusiveScan.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ExclusiveScan.hpp @@ -22,6 +22,7 @@ #include "Kokkos_HelperPredicates.hpp" #include "Kokkos_ValueWrapperForNoNeutralElement.hpp" #include "Kokkos_IdentityReferenceUnaryFunctor.hpp" +#include "Kokkos_FunctorsForExclusiveScan.hpp" #include #include #include @@ -30,127 +31,15 @@ namespace Kokkos { namespace Experimental { namespace Impl { -template -struct ExclusiveScanDefaultFunctorForKnownNeutralElement { - using execution_space = ExeSpace; - - ValueType m_init_value; - FirstFrom m_first_from; - FirstDest m_first_dest; - - KOKKOS_FUNCTION - ExclusiveScanDefaultFunctorForKnownNeutralElement(ValueType init, - FirstFrom first_from, - FirstDest first_dest) - : m_init_value(std::move(init)), - m_first_from(std::move(first_from)), - m_first_dest(std::move(first_dest)) {} - - KOKKOS_FUNCTION - void operator()(const IndexType i, ValueType& update, - const bool final_pass) const { - if (final_pass) m_first_dest[i] = update + m_init_value; - update += m_first_from[i]; - } -}; - -template -struct ExclusiveScanDefaultFunctor { - using execution_space = ExeSpace; - using value_type = - ::Kokkos::Experimental::Impl::ValueWrapperForNoNeutralElement; - - ValueType m_init_value; - FirstFrom m_first_from; - FirstDest m_first_dest; - - KOKKOS_FUNCTION - ExclusiveScanDefaultFunctor(ValueType init, FirstFrom first_from, - FirstDest first_dest) - : m_init_value(std::move(init)), - m_first_from(std::move(first_from)), - m_first_dest(std::move(first_dest)) {} - - KOKKOS_FUNCTION - void operator()(const IndexType i, value_type& update, - const bool final_pass) const { - if (final_pass) { - if (i == 0) { - m_first_dest[i] = m_init_value; - } else { - m_first_dest[i] = update.val + m_init_value; - } - } - - const auto tmp = value_type{m_first_from[i], false}; - this->join(update, tmp); - } - - KOKKOS_FUNCTION - void init(value_type& update) const { - update.val = {}; - update.is_initial = true; - } - - KOKKOS_FUNCTION - void join(value_type& update, const value_type& input) const { - if (input.is_initial) return; - - if (update.is_initial) { - update.val = input.val; - update.is_initial = false; - } else { - update.val = update.val + input.val; - } - } -}; - -template -OutputIteratorType exclusive_scan_custom_op_impl( - const std::string& label, const ExecutionSpace& ex, - InputIteratorType first_from, InputIteratorType last_from, - OutputIteratorType first_dest, ValueType init_value, BinaryOpType bop) { - // checks - Impl::static_assert_random_access_and_accessible(ex, first_from, first_dest); - Impl::static_assert_iterators_have_matching_difference_type(first_from, - first_dest); - Impl::expect_valid_range(first_from, last_from); - - // aliases - using index_type = typename InputIteratorType::difference_type; - using unary_op_type = StdNumericScanIdentityReferenceUnaryFunctor; - using func_type = - TransformExclusiveScanFunctor; - - // run - const auto num_elements = - Kokkos::Experimental::distance(first_from, last_from); - ::Kokkos::parallel_scan( - label, RangePolicy(ex, 0, num_elements), - func_type(init_value, first_from, first_dest, bop, unary_op_type())); - ex.fence("Kokkos::exclusive_scan_custom_op: fence after operation"); - - // return - return first_dest + num_elements; -} - -template -using ex_scan_has_reduction_identity_sum_t = - decltype(Kokkos::reduction_identity::sum()); - +// +// exespace impl +// template -OutputIteratorType exclusive_scan_default_op_impl(const std::string& label, - const ExecutionSpace& ex, - InputIteratorType first_from, - InputIteratorType last_from, - OutputIteratorType first_dest, - ValueType init_value) { +OutputIteratorType exclusive_scan_default_op_exespace_impl( + const std::string& label, const ExecutionSpace& ex, + InputIteratorType first_from, InputIteratorType last_from, + OutputIteratorType first_dest, ValueType init_value) { // checks Impl::static_assert_random_access_and_accessible(ex, first_from, first_dest); Impl::static_assert_iterators_have_matching_difference_type(first_from, @@ -184,17 +73,122 @@ OutputIteratorType exclusive_scan_default_op_impl(const std::string& label, ExclusiveScanDefaultFunctorForKnownNeutralElement< ExecutionSpace, index_type, ValueType, InputIteratorType, OutputIteratorType>, - ExclusiveScanDefaultFunctor>; + ExclusiveScanDefaultFunctorWithValueWrapper>; + + // run + const auto num_elements = + Kokkos::Experimental::distance(first_from, last_from); + ::Kokkos::parallel_scan( + label, RangePolicy(ex, 0, num_elements), + func_type(std::move(init_value), first_from, first_dest)); + + ex.fence("Kokkos::exclusive_scan_default_op: fence after operation"); + + return first_dest + num_elements; +} + +template +OutputIteratorType exclusive_scan_custom_op_exespace_impl( + const std::string& label, const ExecutionSpace& ex, + InputIteratorType first_from, InputIteratorType last_from, + OutputIteratorType first_dest, ValueType init_value, BinaryOpType bop) { + // checks + Impl::static_assert_random_access_and_accessible(ex, first_from, first_dest); + Impl::static_assert_iterators_have_matching_difference_type(first_from, + first_dest); + Impl::expect_valid_range(first_from, last_from); + + // aliases + using index_type = typename InputIteratorType::difference_type; + using unary_op_type = StdNumericScanIdentityReferenceUnaryFunctor; + using func_type = TransformExclusiveScanFunctorWithValueWrapper< + ExecutionSpace, index_type, ValueType, InputIteratorType, + OutputIteratorType, BinaryOpType, unary_op_type>; // run const auto num_elements = Kokkos::Experimental::distance(first_from, last_from); ::Kokkos::parallel_scan(label, RangePolicy(ex, 0, num_elements), - func_type(init_value, first_from, first_dest)); + func_type(std::move(init_value), first_from, + first_dest, bop, unary_op_type())); + ex.fence("Kokkos::exclusive_scan_custom_op: fence after operation"); - ex.fence("Kokkos::exclusive_scan_default_op: fence after operation"); + // return + return first_dest + num_elements; +} + +// +// team impl +// +template +KOKKOS_FUNCTION OutputIteratorType exclusive_scan_default_op_team_impl( + const TeamHandleType& teamHandle, InputIteratorType first_from, + InputIteratorType last_from, OutputIteratorType first_dest, + ValueType init_value) { + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first_from, + first_dest); + Impl::static_assert_iterators_have_matching_difference_type(first_from, + first_dest); + Impl::expect_valid_range(first_from, last_from); + + static_assert( + ::Kokkos::is_detected_v, + "The team-level impl of Kokkos::Experimental::exclusive_scan currently " + "does not support types without reduction identity"); + + // aliases + using exe_space = typename TeamHandleType::execution_space; + using index_type = typename InputIteratorType::difference_type; + using func_type = ExclusiveScanDefaultFunctorForKnownNeutralElement< + exe_space, index_type, ValueType, InputIteratorType, OutputIteratorType>; + + const auto num_elements = + Kokkos::Experimental::distance(first_from, last_from); + ::Kokkos::parallel_scan( + TeamThreadRange(teamHandle, 0, num_elements), + func_type(std::move(init_value), first_from, first_dest)); + teamHandle.team_barrier(); + return first_dest + num_elements; +} + +template +KOKKOS_FUNCTION OutputIteratorType exclusive_scan_custom_op_team_impl( + const TeamHandleType& teamHandle, InputIteratorType first_from, + InputIteratorType last_from, OutputIteratorType first_dest, + ValueType init_value, BinaryOpType bop) { + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first_from, + first_dest); + Impl::static_assert_iterators_have_matching_difference_type(first_from, + first_dest); + Impl::expect_valid_range(first_from, last_from); + + static_assert( + ::Kokkos::is_detected_v, + "The team-level impl of Kokkos::Experimental::exclusive_scan currently " + "does not support types without reduction identity"); + + // aliases + using exe_space = typename TeamHandleType::execution_space; + using unary_op_type = StdNumericScanIdentityReferenceUnaryFunctor; + using index_type = typename InputIteratorType::difference_type; + using func_type = TransformExclusiveScanFunctorWithoutValueWrapper< + exe_space, index_type, ValueType, InputIteratorType, OutputIteratorType, + BinaryOpType, unary_op_type>; + + const auto num_elements = + Kokkos::Experimental::distance(first_from, last_from); + ::Kokkos::parallel_scan(TeamThreadRange(teamHandle, 0, num_elements), + func_type(std::move(init_value), first_from, + first_dest, bop, unary_op_type())); + teamHandle.team_barrier(); return first_dest + num_elements; } diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FillFillN.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FillFillN.hpp index 316d865f31..972e57f2cc 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FillFillN.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FillFillN.hpp @@ -41,9 +41,12 @@ struct StdFillFunctor { : m_first(std::move(_first)), m_value(std::move(_value)) {} }; +// +// exespace impl +// template -void fill_impl(const std::string& label, const ExecutionSpace& ex, - IteratorType first, IteratorType last, const T& value) { +void fill_exespace_impl(const std::string& label, const ExecutionSpace& ex, + IteratorType first, IteratorType last, const T& value) { // checks Impl::static_assert_random_access_and_accessible(ex, first); Impl::expect_valid_range(first, last); @@ -52,13 +55,14 @@ void fill_impl(const std::string& label, const ExecutionSpace& ex, const auto num_elements = Kokkos::Experimental::distance(first, last); ::Kokkos::parallel_for(label, RangePolicy(ex, 0, num_elements), - StdFillFunctor(first, value)); + StdFillFunctor(first, value)); ex.fence("Kokkos::fill: fence after operation"); } template -IteratorType fill_n_impl(const std::string& label, const ExecutionSpace& ex, - IteratorType first, SizeType n, const T& value) { +IteratorType fill_n_exespace_impl(const std::string& label, + const ExecutionSpace& ex, IteratorType first, + SizeType n, const T& value) { auto last = first + n; Impl::static_assert_random_access_and_accessible(ex, first); Impl::expect_valid_range(first, last); @@ -67,7 +71,40 @@ IteratorType fill_n_impl(const std::string& label, const ExecutionSpace& ex, return first; } - fill_impl(label, ex, first, last, value); + fill_exespace_impl(label, ex, first, last, value); + return last; +} + +// +// team-level impl +// +template +KOKKOS_FUNCTION void fill_team_impl(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last, + const T& value) { + Impl::static_assert_random_access_and_accessible(teamHandle, first); + Impl::expect_valid_range(first, last); + + const auto num_elements = Kokkos::Experimental::distance(first, last); + ::Kokkos::parallel_for(TeamThreadRange(teamHandle, 0, num_elements), + StdFillFunctor(first, value)); + + teamHandle.team_barrier(); +} + +template +KOKKOS_FUNCTION IteratorType fill_n_team_impl(const TeamHandleType& teamHandle, + IteratorType first, SizeType n, + const T& value) { + auto last = first + n; + Impl::static_assert_random_access_and_accessible(teamHandle, first); + Impl::expect_valid_range(first, last); + + if (n <= 0) { + return first; + } + + fill_team_impl(teamHandle, first, last, value); return last; } diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FindEnd.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FindEnd.hpp index 3ec64fa43d..1f1ec5e54f 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FindEnd.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FindEnd.hpp @@ -80,12 +80,17 @@ struct StdFindEndFunctor { m_p(std::move(p)) {} }; +// +// exespace impl +// template -IteratorType1 find_end_impl(const std::string& label, const ExecutionSpace& ex, - IteratorType1 first, IteratorType1 last, - IteratorType2 s_first, IteratorType2 s_last, - const BinaryPredicateType& pred) { +IteratorType1 find_end_exespace_impl(const std::string& label, + const ExecutionSpace& ex, + IteratorType1 first, IteratorType1 last, + IteratorType2 s_first, + IteratorType2 s_last, + const BinaryPredicateType& pred) { // checks Impl::static_assert_random_access_and_accessible(ex, first, s_first); Impl::static_assert_iterators_have_matching_difference_type(first, s_first); @@ -97,7 +102,6 @@ IteratorType1 find_end_impl(const std::string& label, const ExecutionSpace& ex, const auto num_elements = KE::distance(first, last); const auto s_count = KE::distance(s_first, s_last); KOKKOS_EXPECTS(num_elements >= s_count); - (void)s_count; // needed when macro above is a no-op if (s_first == s_last) { return last; @@ -109,7 +113,8 @@ IteratorType1 find_end_impl(const std::string& label, const ExecutionSpace& ex, // special case where the two ranges have equal size if (num_elements == s_count) { - const auto equal_result = equal_impl(label, ex, first, last, s_first, pred); + const auto equal_result = + equal_exespace_impl(label, ex, first, last, s_first, pred); return (equal_result) ? first : last; } else { using index_type = typename IteratorType1::difference_type; @@ -148,14 +153,97 @@ IteratorType1 find_end_impl(const std::string& label, const ExecutionSpace& ex, } template -IteratorType1 find_end_impl(const std::string& label, const ExecutionSpace& ex, - IteratorType1 first, IteratorType1 last, - IteratorType2 s_first, IteratorType2 s_last) { +IteratorType1 find_end_exespace_impl(const std::string& label, + const ExecutionSpace& ex, + IteratorType1 first, IteratorType1 last, + IteratorType2 s_first, + IteratorType2 s_last) { using value_type1 = typename IteratorType1::value_type; using value_type2 = typename IteratorType2::value_type; using predicate_type = StdAlgoEqualBinaryPredicate; - return find_end_impl(label, ex, first, last, s_first, s_last, - predicate_type()); + return find_end_exespace_impl(label, ex, first, last, s_first, s_last, + predicate_type()); +} + +// +// team impl +// +template +KOKKOS_FUNCTION IteratorType1 +find_end_team_impl(const TeamHandleType& teamHandle, IteratorType1 first, + IteratorType1 last, IteratorType2 s_first, + IteratorType2 s_last, const BinaryPredicateType& pred) { + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first, s_first); + Impl::static_assert_iterators_have_matching_difference_type(first, s_first); + Impl::expect_valid_range(first, last); + Impl::expect_valid_range(s_first, s_last); + + // the target sequence should not be larger than the range [first, last) + namespace KE = ::Kokkos::Experimental; + const auto num_elements = KE::distance(first, last); + const auto s_count = KE::distance(s_first, s_last); + KOKKOS_EXPECTS(num_elements >= s_count); + + if (s_first == s_last) { + return last; + } + + if (first == last) { + return last; + } + + // special case where the two ranges have equal size + if (num_elements == s_count) { + const auto equal_result = + equal_team_impl(teamHandle, first, last, s_first, pred); + return (equal_result) ? first : last; + } else { + using index_type = typename IteratorType1::difference_type; + using reducer_type = LastLoc; + using reduction_value_type = typename reducer_type::value_type; + using func_t = StdFindEndFunctor; + + // run + reduction_value_type red_result; + reducer_type reducer(red_result); + + // decide the size of the range policy of the par_red: + // note that the last feasible index to start looking is the index + // whose distance from the "last" is equal to the sequence count. + // the +1 is because we need to include that location too. + const auto range_size = num_elements - s_count + 1; + + // run par reduce + ::Kokkos::parallel_reduce( + TeamThreadRange(teamHandle, 0, range_size), + func_t(first, last, s_first, s_last, reducer, pred), reducer); + + teamHandle.team_barrier(); + + // decide and return + if (red_result.max_loc_true == + ::Kokkos::reduction_identity::max()) { + // if here, a subrange has not been found + return last; + } else { + // a location has been found + return first + red_result.max_loc_true; + } + } +} + +template +KOKKOS_FUNCTION IteratorType1 find_end_team_impl( + const TeamHandleType& teamHandle, IteratorType1 first, IteratorType1 last, + IteratorType2 s_first, IteratorType2 s_last) { + using value_type1 = typename IteratorType1::value_type; + using value_type2 = typename IteratorType2::value_type; + using predicate_type = StdAlgoEqualBinaryPredicate; + return find_end_team_impl(teamHandle, first, last, s_first, s_last, + predicate_type()); } } // namespace Impl diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FindFirstOf.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FindFirstOf.hpp index 5f22d2ad13..145e235b9d 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FindFirstOf.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FindFirstOf.hpp @@ -71,13 +71,15 @@ struct StdFindFirstOfFunctor { m_p(std::move(p)) {} }; +// +// exespace impl +// template -IteratorType1 find_first_of_impl(const std::string& label, - const ExecutionSpace& ex, IteratorType1 first, - IteratorType1 last, IteratorType2 s_first, - IteratorType2 s_last, - const BinaryPredicateType& pred) { +IteratorType1 find_first_of_exespace_impl( + const std::string& label, const ExecutionSpace& ex, IteratorType1 first, + IteratorType1 last, IteratorType2 s_first, IteratorType2 s_last, + const BinaryPredicateType& pred) { // checks Impl::static_assert_random_access_and_accessible(ex, first, s_first); Impl::static_assert_iterators_have_matching_difference_type(first, s_first); @@ -116,15 +118,71 @@ IteratorType1 find_first_of_impl(const std::string& label, } template -IteratorType1 find_first_of_impl(const std::string& label, - const ExecutionSpace& ex, IteratorType1 first, - IteratorType1 last, IteratorType2 s_first, - IteratorType2 s_last) { +IteratorType1 find_first_of_exespace_impl( + const std::string& label, const ExecutionSpace& ex, IteratorType1 first, + IteratorType1 last, IteratorType2 s_first, IteratorType2 s_last) { using value_type1 = typename IteratorType1::value_type; using value_type2 = typename IteratorType2::value_type; using predicate_type = StdAlgoEqualBinaryPredicate; - return find_first_of_impl(label, ex, first, last, s_first, s_last, - predicate_type()); + return find_first_of_exespace_impl(label, ex, first, last, s_first, s_last, + predicate_type()); +} + +// +// team impl +// +template +KOKKOS_FUNCTION IteratorType1 +find_first_of_team_impl(const TeamHandleType& teamHandle, IteratorType1 first, + IteratorType1 last, IteratorType2 s_first, + IteratorType2 s_last, const BinaryPredicateType& pred) { + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first, s_first); + Impl::static_assert_iterators_have_matching_difference_type(first, s_first); + Impl::expect_valid_range(first, last); + Impl::expect_valid_range(s_first, s_last); + + if ((s_first == s_last) || (first == last)) { + return last; + } + + using index_type = typename IteratorType1::difference_type; + using reducer_type = FirstLoc; + using reduction_value_type = typename reducer_type::value_type; + using func_t = StdFindFirstOfFunctor; + + // run + reduction_value_type red_result; + reducer_type reducer(red_result); + const auto num_elements = Kokkos::Experimental::distance(first, last); + ::Kokkos::parallel_reduce(TeamThreadRange(teamHandle, 0, num_elements), + func_t(first, s_first, s_last, reducer, pred), + reducer); + + teamHandle.team_barrier(); + + // decide and return + if (red_result.min_loc_true == + ::Kokkos::reduction_identity::min()) { + // if here, nothing found + return last; + } else { + // a location has been found + return first + red_result.min_loc_true; + } +} + +template +KOKKOS_FUNCTION IteratorType1 find_first_of_team_impl( + const TeamHandleType& teamHandle, IteratorType1 first, IteratorType1 last, + IteratorType2 s_first, IteratorType2 s_last) { + using value_type1 = typename IteratorType1::value_type; + using value_type2 = typename IteratorType2::value_type; + using predicate_type = StdAlgoEqualBinaryPredicate; + return find_first_of_team_impl(teamHandle, first, last, s_first, s_last, + predicate_type()); } } // namespace Impl diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FindIfOrNot.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FindIfOrNot.hpp index 9c0b0c0ccd..8fffb59094 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FindIfOrNot.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FindIfOrNot.hpp @@ -61,11 +61,15 @@ struct StdFindIfOrNotFunctor { m_p(std::move(p)) {} }; +// +// exespace impl +// template -IteratorType find_if_or_not_impl(const std::string& label, - const ExecutionSpace& ex, IteratorType first, - IteratorType last, PredicateType pred) { +IteratorType find_if_or_not_exespace_impl(const std::string& label, + const ExecutionSpace& ex, + IteratorType first, IteratorType last, + PredicateType pred) { // checks Impl::static_assert_random_access_and_accessible( ex, first); // only need one It per type @@ -104,14 +108,68 @@ IteratorType find_if_or_not_impl(const std::string& label, } template -InputIterator find_impl(const std::string& label, ExecutionSpace ex, - InputIterator first, InputIterator last, - const T& value) { - return find_if_or_not_impl( +InputIterator find_exespace_impl(const std::string& label, ExecutionSpace ex, + InputIterator first, InputIterator last, + const T& value) { + return find_if_or_not_exespace_impl( label, ex, first, last, ::Kokkos::Experimental::Impl::StdAlgoEqualsValUnaryPredicate(value)); } +// +// team impl +// +template +KOKKOS_FUNCTION IteratorType +find_if_or_not_team_impl(const TeamHandleType& teamHandle, IteratorType first, + IteratorType last, PredicateType pred) { + // checks + Impl::static_assert_random_access_and_accessible( + teamHandle, first); // only need one It per type + Impl::expect_valid_range(first, last); + + if (first == last) { + return last; + } + + // aliases + using index_type = typename IteratorType::difference_type; + using reducer_type = FirstLoc; + using reduction_value_type = typename reducer_type::value_type; + using func_t = StdFindIfOrNotFunctor; + + // run + reduction_value_type red_result; + reducer_type reducer(red_result); + const auto num_elements = Kokkos::Experimental::distance(first, last); + ::Kokkos::parallel_reduce(TeamThreadRange(teamHandle, 0, num_elements), + func_t(first, reducer, pred), reducer); + + teamHandle.team_barrier(); + + // decide and return + if (red_result.min_loc_true == + ::Kokkos::reduction_identity::min()) { + // here, it means a valid loc has not been found, + return last; + } else { + // a location has been found + return first + red_result.min_loc_true; + } +} + +template +KOKKOS_FUNCTION InputIterator find_team_impl(const TeamHandleType& teamHandle, + InputIterator first, + InputIterator last, + const T& value) { + return find_if_or_not_team_impl( + teamHandle, first, last, + ::Kokkos::Experimental::Impl::StdAlgoEqualsValUnaryPredicate(value)); +} + } // namespace Impl } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ForEachForEachN.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ForEachForEachN.hpp index f9a6ff2e99..d3be3b7f66 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ForEachForEachN.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ForEachForEachN.hpp @@ -41,29 +41,31 @@ struct StdForEachFunctor { : m_first(std::move(_first)), m_functor(std::move(_functor)) {} }; -template -UnaryFunctorType for_each_impl(const std::string& label, - const ExecutionSpace& ex, IteratorType first, - IteratorType last, UnaryFunctorType functor) { +template +UnaryFunctorType for_each_exespace_impl(const std::string& label, + const HandleType& handle, + IteratorType first, IteratorType last, + UnaryFunctorType functor) { // checks - Impl::static_assert_random_access_and_accessible(ex, first); + Impl::static_assert_random_access_and_accessible(handle, first); Impl::expect_valid_range(first, last); // run const auto num_elements = Kokkos::Experimental::distance(first, last); ::Kokkos::parallel_for( - label, RangePolicy(ex, 0, num_elements), + label, RangePolicy(handle, 0, num_elements), StdForEachFunctor(first, functor)); - ex.fence("Kokkos::for_each: fence after operation"); + handle.fence("Kokkos::for_each: fence after operation"); return functor; } template -IteratorType for_each_n_impl(const std::string& label, const ExecutionSpace& ex, - IteratorType first, SizeType n, - UnaryFunctorType functor) { +IteratorType for_each_n_exespace_impl(const std::string& label, + const ExecutionSpace& ex, + IteratorType first, SizeType n, + UnaryFunctorType functor) { auto last = first + n; Impl::static_assert_random_access_and_accessible(ex, first, last); Impl::expect_valid_range(first, last); @@ -72,8 +74,46 @@ IteratorType for_each_n_impl(const std::string& label, const ExecutionSpace& ex, return first; } - for_each_impl(label, ex, first, last, std::move(functor)); - // no neeed to fence since for_each_impl fences already + for_each_exespace_impl(label, ex, first, last, std::move(functor)); + // no neeed to fence since for_each_exespace_impl fences already + + return last; +} + +// +// team impl +// +template +KOKKOS_FUNCTION UnaryFunctorType +for_each_team_impl(const TeamHandleType& teamHandle, IteratorType first, + IteratorType last, UnaryFunctorType functor) { + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first); + Impl::expect_valid_range(first, last); + // run + const auto num_elements = Kokkos::Experimental::distance(first, last); + ::Kokkos::parallel_for( + TeamThreadRange(teamHandle, 0, num_elements), + StdForEachFunctor(first, functor)); + teamHandle.team_barrier(); + return functor; +} + +template +KOKKOS_FUNCTION IteratorType +for_each_n_team_impl(const TeamHandleType& teamHandle, IteratorType first, + SizeType n, UnaryFunctorType functor) { + auto last = first + n; + Impl::static_assert_random_access_and_accessible(teamHandle, first, last); + Impl::expect_valid_range(first, last); + + if (n == 0) { + return first; + } + + for_each_team_impl(teamHandle, first, last, std::move(functor)); + // no neeed to fence since for_each_team_impl fences already return last; } diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FunctorsForExclusiveScan.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FunctorsForExclusiveScan.hpp new file mode 100644 index 0000000000..8151ee3495 --- /dev/null +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FunctorsForExclusiveScan.hpp @@ -0,0 +1,220 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) 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. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_STD_ALGORITHMS_FUNCTORS_FOR_EXCLUSIVE_SCAN_IMPL_HPP +#define KOKKOS_STD_ALGORITHMS_FUNCTORS_FOR_EXCLUSIVE_SCAN_IMPL_HPP + +#include +#include "Kokkos_ValueWrapperForNoNeutralElement.hpp" + +namespace Kokkos { +namespace Experimental { +namespace Impl { + +template +using ex_scan_has_reduction_identity_sum_t = + decltype(Kokkos::reduction_identity::sum()); + +template +struct ExclusiveScanDefaultFunctorForKnownNeutralElement { + using execution_space = ExeSpace; + ValueType m_init_value; + FirstFrom m_first_from; + FirstDest m_first_dest; + + KOKKOS_FUNCTION + ExclusiveScanDefaultFunctorForKnownNeutralElement(ValueType init, + FirstFrom first_from, + FirstDest first_dest) + : m_init_value(std::move(init)), + m_first_from(std::move(first_from)), + m_first_dest(std::move(first_dest)) {} + + KOKKOS_FUNCTION + void operator()(const IndexType i, ValueType& update, + const bool final_pass) const { + if (final_pass) m_first_dest[i] = update + m_init_value; + update += m_first_from[i]; + } +}; + +template +struct ExclusiveScanDefaultFunctorWithValueWrapper { + using execution_space = ExeSpace; + using value_type = + ::Kokkos::Experimental::Impl::ValueWrapperForNoNeutralElement; + ValueType m_init_value; + FirstFrom m_first_from; + FirstDest m_first_dest; + + KOKKOS_FUNCTION + ExclusiveScanDefaultFunctorWithValueWrapper(ValueType init, + FirstFrom first_from, + FirstDest first_dest) + : m_init_value(std::move(init)), + m_first_from(std::move(first_from)), + m_first_dest(std::move(first_dest)) {} + + KOKKOS_FUNCTION + void operator()(const IndexType i, value_type& update, + const bool final_pass) const { + if (final_pass) { + if (i == 0) { + m_first_dest[i] = m_init_value; + } else { + m_first_dest[i] = update.val + m_init_value; + } + } + + const auto tmp = value_type{m_first_from[i], false}; + this->join(update, tmp); + } + + KOKKOS_FUNCTION + void init(value_type& update) const { + update.val = {}; + update.is_initial = true; + } + + KOKKOS_FUNCTION + void join(value_type& update, const value_type& input) const { + if (input.is_initial) return; + + if (update.is_initial) { + update.val = input.val; + update.is_initial = false; + } else { + update.val = update.val + input.val; + } + } +}; + +template +struct TransformExclusiveScanFunctorWithValueWrapper { + using execution_space = ExeSpace; + using value_type = + ::Kokkos::Experimental::Impl::ValueWrapperForNoNeutralElement; + + ValueType m_init_value; + FirstFrom m_first_from; + FirstDest m_first_dest; + BinaryOpType m_binary_op; + UnaryOpType m_unary_op; + + KOKKOS_FUNCTION + TransformExclusiveScanFunctorWithValueWrapper(ValueType init, + FirstFrom first_from, + FirstDest first_dest, + BinaryOpType bop, + UnaryOpType uop) + : m_init_value(std::move(init)), + m_first_from(std::move(first_from)), + m_first_dest(std::move(first_dest)), + m_binary_op(std::move(bop)), + m_unary_op(std::move(uop)) {} + + KOKKOS_FUNCTION + void operator()(const IndexType i, value_type& update, + const bool final_pass) const { + if (final_pass) { + if (i == 0) { + // for both ExclusiveScan and TransformExclusiveScan, + // init is unmodified + m_first_dest[i] = m_init_value; + } else { + m_first_dest[i] = m_binary_op(update.val, m_init_value); + } + } + + const auto tmp = value_type{m_unary_op(m_first_from[i]), false}; + this->join(update, tmp); + } + + KOKKOS_FUNCTION void init(value_type& value) const { + value.val = {}; + value.is_initial = true; + } + + KOKKOS_FUNCTION + void join(value_type& update, const value_type& input) const { + if (input.is_initial) return; + + if (update.is_initial) { + update.val = input.val; + } else { + update.val = m_binary_op(update.val, input.val); + } + update.is_initial = false; + } +}; + +template +struct TransformExclusiveScanFunctorWithoutValueWrapper { + using execution_space = ExeSpace; + + ValueType m_init_value; + FirstFrom m_first_from; + FirstDest m_first_dest; + BinaryOpType m_binary_op; + UnaryOpType m_unary_op; + + KOKKOS_FUNCTION + TransformExclusiveScanFunctorWithoutValueWrapper(ValueType init, + FirstFrom first_from, + FirstDest first_dest, + BinaryOpType bop, + UnaryOpType uop) + : m_init_value(std::move(init)), + m_first_from(std::move(first_from)), + m_first_dest(std::move(first_dest)), + m_binary_op(std::move(bop)), + m_unary_op(std::move(uop)) {} + + KOKKOS_FUNCTION + void operator()(const IndexType i, ValueType& update, + const bool final_pass) const { + if (final_pass) { + if (i == 0) { + // for both ExclusiveScan and TransformExclusiveScan, + // init is unmodified + m_first_dest[i] = m_init_value; + } else { + m_first_dest[i] = m_binary_op(update, m_init_value); + } + } + + const auto tmp = ValueType{m_unary_op(m_first_from[i])}; + this->join(update, tmp); + } + + KOKKOS_FUNCTION + void init(ValueType& update) const { update = {}; } + + KOKKOS_FUNCTION + void join(ValueType& update, const ValueType& input) const { + update = m_binary_op(update, input); + } +}; + +} // namespace Impl +} // namespace Experimental +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_GenerateGenerateN.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_GenerateGenerateN.hpp index 228390bdff..157de1125e 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_GenerateGenerateN.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_GenerateGenerateN.hpp @@ -41,32 +41,65 @@ struct StdGenerateFunctor { : m_first(std::move(_first)), m_generator(std::move(_g)) {} }; +// +// generate impl +// template -void generate_impl(const std::string& label, const ExecutionSpace& ex, - IteratorType first, IteratorType last, Generator g) { +void generate_exespace_impl(const std::string& label, const ExecutionSpace& ex, + IteratorType first, IteratorType last, + Generator g) { // checks Impl::static_assert_random_access_and_accessible(ex, first); Impl::expect_valid_range(first, last); - // aliases - using func_t = StdGenerateFunctor; - // run const auto num_elements = Kokkos::Experimental::distance(first, last); ::Kokkos::parallel_for(label, RangePolicy(ex, 0, num_elements), - func_t(first, g)); + StdGenerateFunctor(first, g)); ex.fence("Kokkos::generate: fence after operation"); } +template +KOKKOS_FUNCTION void generate_team_impl(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last, + Generator g) { + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first); + Impl::expect_valid_range(first, last); + + // run + const auto num_elements = Kokkos::Experimental::distance(first, last); + ::Kokkos::parallel_for(TeamThreadRange(teamHandle, 0, num_elements), + StdGenerateFunctor(first, g)); + teamHandle.team_barrier(); +} + +// +// generate_n impl +// template -IteratorType generate_n_impl(const std::string& label, const ExecutionSpace& ex, - IteratorType first, Size count, Generator g) { +IteratorType generate_n_exespace_impl(const std::string& label, + const ExecutionSpace& ex, + IteratorType first, Size count, + Generator g) { if (count <= 0) { return first; } - generate_impl(label, ex, first, first + count, g); + generate_exespace_impl(label, ex, first, first + count, g); + return first + count; +} + +template +KOKKOS_FUNCTION IteratorType +generate_n_team_impl(const TeamHandleType& teamHandle, IteratorType first, + Size count, Generator g) { + if (count <= 0) { + return first; + } + + generate_team_impl(teamHandle, first, first + count, g); return first + count; } diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_InclusiveScan.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_InclusiveScan.hpp index ecd6ff39cd..0b4acec0fe 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_InclusiveScan.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_InclusiveScan.hpp @@ -101,9 +101,12 @@ struct InclusiveScanDefaultFunctor { } }; +// +// exespace impl +// template -OutputIteratorType inclusive_scan_default_op_impl( +OutputIteratorType inclusive_scan_default_op_exespace_impl( const std::string& label, const ExecutionSpace& ex, InputIteratorType first_from, InputIteratorType last_from, OutputIteratorType first_dest) { @@ -143,7 +146,7 @@ OutputIteratorType inclusive_scan_default_op_impl( // ------------------------------------------------------------- template -OutputIteratorType inclusive_scan_custom_binary_op_impl( +OutputIteratorType inclusive_scan_custom_binary_op_exespace_impl( const std::string& label, const ExecutionSpace& ex, InputIteratorType first_from, InputIteratorType last_from, OutputIteratorType first_dest, BinaryOpType binary_op) { @@ -158,7 +161,7 @@ OutputIteratorType inclusive_scan_custom_binary_op_impl( using value_type = std::remove_const_t; using unary_op_type = StdNumericScanIdentityReferenceUnaryFunctor; - using func_type = TransformInclusiveScanNoInitValueFunctor< + using func_type = ExeSpaceTransformInclusiveScanNoInitValueFunctor< ExecutionSpace, index_type, value_type, InputIteratorType, OutputIteratorType, BinaryOpType, unary_op_type>; @@ -179,7 +182,7 @@ OutputIteratorType inclusive_scan_custom_binary_op_impl( // ------------------------------------------------------------- template -OutputIteratorType inclusive_scan_custom_binary_op_impl( +OutputIteratorType inclusive_scan_custom_binary_op_exespace_impl( const std::string& label, const ExecutionSpace& ex, InputIteratorType first_from, InputIteratorType last_from, OutputIteratorType first_dest, BinaryOpType binary_op, @@ -193,7 +196,7 @@ OutputIteratorType inclusive_scan_custom_binary_op_impl( // aliases using index_type = typename InputIteratorType::difference_type; using unary_op_type = StdNumericScanIdentityReferenceUnaryFunctor; - using func_type = TransformInclusiveScanWithInitValueFunctor< + using func_type = ExeSpaceTransformInclusiveScanWithInitValueFunctor< ExecutionSpace, index_type, ValueType, InputIteratorType, OutputIteratorType, BinaryOpType, unary_op_type>; @@ -203,13 +206,142 @@ OutputIteratorType inclusive_scan_custom_binary_op_impl( ::Kokkos::parallel_scan(label, RangePolicy(ex, 0, num_elements), func_type(first_from, first_dest, binary_op, - unary_op_type(), init_value)); + unary_op_type(), std::move(init_value))); ex.fence("Kokkos::inclusive_scan_custom_binary_op: fence after operation"); // return return first_dest + num_elements; } +// +// team impl +// +template +KOKKOS_FUNCTION OutputIteratorType inclusive_scan_default_op_team_impl( + const TeamHandleType& teamHandle, InputIteratorType first_from, + InputIteratorType last_from, OutputIteratorType first_dest) { + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first_from, + first_dest); + Impl::static_assert_iterators_have_matching_difference_type(first_from, + first_dest); + Impl::expect_valid_range(first_from, last_from); + + using value_type = + std::remove_const_t; + + // #if defined(KOKKOS_ENABLE_CUDA) + + using exe_space = typename TeamHandleType::execution_space; + using index_type = typename InputIteratorType::difference_type; + using func_type = std::conditional_t< + ::Kokkos::is_detected::value, + InclusiveScanDefaultFunctorForKnownIdentityElement< + exe_space, index_type, value_type, InputIteratorType, + OutputIteratorType>, + InclusiveScanDefaultFunctor>; + + // run + const auto num_elements = + Kokkos::Experimental::distance(first_from, last_from); + ::Kokkos::parallel_scan(TeamThreadRange(teamHandle, 0, num_elements), + func_type(first_from, first_dest)); + teamHandle.team_barrier(); + + // return + return first_dest + num_elements; +} + +// ------------------------------------------------------------- +// inclusive_scan_custom_binary_op_impl +// ------------------------------------------------------------- +template +KOKKOS_FUNCTION OutputIteratorType inclusive_scan_custom_binary_op_team_impl( + const TeamHandleType& teamHandle, InputIteratorType first_from, + InputIteratorType last_from, OutputIteratorType first_dest, + BinaryOpType binary_op) { + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first_from, + first_dest); + Impl::static_assert_iterators_have_matching_difference_type(first_from, + first_dest); + Impl::expect_valid_range(first_from, last_from); + + using value_type = + std::remove_const_t; + + static_assert( + ::Kokkos::is_detected_v, + "At the moment inclusive_scan doesn't support types without reduction " + "identity"); + + // #if defined(KOKKOS_ENABLE_CUDA) + + // aliases + using exe_space = typename TeamHandleType::execution_space; + using unary_op_type = StdNumericScanIdentityReferenceUnaryFunctor; + using func_type = TeamTransformInclusiveScanNoInitValueFunctor< + exe_space, value_type, InputIteratorType, OutputIteratorType, + BinaryOpType, unary_op_type>; + + // run + const auto num_elements = + Kokkos::Experimental::distance(first_from, last_from); + + ::Kokkos::parallel_scan( + TeamThreadRange(teamHandle, 0, num_elements), + func_type(first_from, first_dest, binary_op, unary_op_type())); + teamHandle.team_barrier(); + + return first_dest + num_elements; +} + +// ------------------------------------------------------------- +// inclusive_scan_custom_binary_op_impl with init_value +// ------------------------------------------------------------- +template +KOKKOS_FUNCTION OutputIteratorType inclusive_scan_custom_binary_op_team_impl( + const TeamHandleType& teamHandle, InputIteratorType first_from, + InputIteratorType last_from, OutputIteratorType first_dest, + BinaryOpType binary_op, ValueType init_value) { + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first_from, + first_dest); + Impl::static_assert_iterators_have_matching_difference_type(first_from, + first_dest); + Impl::expect_valid_range(first_from, last_from); + + static_assert( + ::Kokkos::is_detected_v, + "At the moment inclusive_scan doesn't support types without reduction " + "identity"); + + // #if defined(KOKKOS_ENABLE_CUDA) + + // aliases + using exe_space = typename TeamHandleType::execution_space; + using unary_op_type = StdNumericScanIdentityReferenceUnaryFunctor; + using func_type = TeamTransformInclusiveScanWithInitValueFunctor< + exe_space, ValueType, InputIteratorType, OutputIteratorType, BinaryOpType, + unary_op_type>; + + // run + const auto num_elements = + Kokkos::Experimental::distance(first_from, last_from); + ::Kokkos::parallel_scan(TeamThreadRange(teamHandle, 0, num_elements), + func_type(first_from, first_dest, binary_op, + unary_op_type(), std::move(init_value))); + teamHandle.team_barrier(); + + // return + return first_dest + num_elements; +} + } // namespace Impl } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_IsPartitioned.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_IsPartitioned.hpp index 0fe2d246ff..281efca36b 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_IsPartitioned.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_IsPartitioned.hpp @@ -62,9 +62,9 @@ struct StdIsPartitionedFunctor { }; template -bool is_partitioned_impl(const std::string& label, const ExecutionSpace& ex, - IteratorType first, IteratorType last, - PredicateType pred) { +bool is_partitioned_exespace_impl(const std::string& label, + const ExecutionSpace& ex, IteratorType first, + IteratorType last, PredicateType pred) { // true if all elements in the range [first, last) that satisfy // the predicate "pred" appear before all elements that don't. // Also returns true if [first, last) is empty. @@ -97,6 +97,7 @@ bool is_partitioned_impl(const std::string& label, const ExecutionSpace& ex, const auto num_elements = Kokkos::Experimental::distance(first, last); ::Kokkos::parallel_reduce(label, RangePolicy(ex, 0, num_elements), + func_t(first, reducer, pred), reducer); // fence not needed because reducing into scalar @@ -109,8 +110,72 @@ bool is_partitioned_impl(const std::string& label, const ExecutionSpace& ex, if (red_result.max_loc_true != red_id_max && red_result.min_loc_false != red_id_min) { + // this occurs when the reduction yields nontrivial values return red_result.max_loc_true < red_result.min_loc_false; + } else if (red_result.max_loc_true == red_id_max && + red_result.min_loc_false == 0) { + // this occurs when all values do NOT satisfy + // the predicate, and this corner case should also be true + return true; } else if (first + red_result.max_loc_true == --last) { + // this occurs when all values satisfy the predicate, + // this corner case should also be true + return true; + } else { + return false; + } +} + +template +KOKKOS_FUNCTION bool is_partitioned_team_impl(const TeamHandleType& teamHandle, + IteratorType first, + IteratorType last, + PredicateType pred) { + /* see exespace impl for the description of the impl */ + + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first); + Impl::expect_valid_range(first, last); + + // trivial case + if (first == last) { + return true; + } + + // aliases + using index_type = typename IteratorType::difference_type; + using reducer_type = StdIsPartitioned; + using reduction_value_type = typename reducer_type::value_type; + using func_t = + StdIsPartitionedFunctor; + + // run + reduction_value_type red_result; + reducer_type reducer(red_result); + const auto num_elements = Kokkos::Experimental::distance(first, last); + ::Kokkos::parallel_reduce(TeamThreadRange(teamHandle, 0, num_elements), + func_t(first, reducer, pred), reducer); + + // fence not needed because reducing into scalar + + // decide and return + constexpr index_type red_id_min = + ::Kokkos::reduction_identity::min(); + constexpr index_type red_id_max = + ::Kokkos::reduction_identity::max(); + + if (red_result.max_loc_true != red_id_max && + red_result.min_loc_false != red_id_min) { + // this occurs when the reduction yields nontrivial values + return red_result.max_loc_true < red_result.min_loc_false; + } else if (red_result.max_loc_true == red_id_max && + red_result.min_loc_false == 0) { + // this occurs when all values do NOT satisfy + // the predicate, and this corner case should also be true + return true; + } else if (first + red_result.max_loc_true == --last) { + // this occurs when all values satisfy the predicate, + // this corner case should also be true return true; } else { return false; diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_IsSorted.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_IsSorted.hpp index 4696821586..b2c912848a 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_IsSorted.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_IsSorted.hpp @@ -48,10 +48,13 @@ struct StdIsSortedFunctor { : m_first(std::move(_first1)), m_comparator(std::move(comparator)) {} }; +// +// exespace impl +// template -bool is_sorted_impl(const std::string& label, const ExecutionSpace& ex, - IteratorType first, IteratorType last, - ComparatorType comp) { +bool is_sorted_exespace_impl(const std::string& label, const ExecutionSpace& ex, + IteratorType first, IteratorType last, + ComparatorType comp) { // checks Impl::static_assert_random_access_and_accessible(ex, first); Impl::expect_valid_range(first, last); @@ -75,11 +78,49 @@ bool is_sorted_impl(const std::string& label, const ExecutionSpace& ex, } template -bool is_sorted_impl(const std::string& label, const ExecutionSpace& ex, - IteratorType first, IteratorType last) { +bool is_sorted_exespace_impl(const std::string& label, const ExecutionSpace& ex, + IteratorType first, IteratorType last) { using value_type = typename IteratorType::value_type; using pred_t = Impl::StdAlgoLessThanBinaryPredicate; - return is_sorted_impl(label, ex, first, last, pred_t()); + return is_sorted_exespace_impl(label, ex, first, last, pred_t()); +} + +// +// team impl +// +template +KOKKOS_FUNCTION bool is_sorted_team_impl(const TeamHandleType& teamHandle, + IteratorType first, IteratorType last, + ComparatorType comp) { + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first); + Impl::expect_valid_range(first, last); + + const auto num_elements = Kokkos::Experimental::distance(first, last); + if (num_elements <= 1) { + return true; + } + + // use num_elements-1 because each index handles i and i+1 + const auto num_elements_minus_one = num_elements - 1; + + // result is incremented by one if sorting breaks at index i + std::size_t result = 0; + ::Kokkos::parallel_reduce( + TeamThreadRange(teamHandle, 0, num_elements_minus_one), + // use CTAD here + StdIsSortedFunctor(first, std::move(comp)), result); + + return result == 0; +} + +template +KOKKOS_FUNCTION bool is_sorted_team_impl(const TeamHandleType& teamHandle, + IteratorType first, + IteratorType last) { + using value_type = typename IteratorType::value_type; + using pred_t = Impl::StdAlgoLessThanBinaryPredicate; + return is_sorted_team_impl(teamHandle, first, last, pred_t()); } } // namespace Impl diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_IsSortedUntil.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_IsSortedUntil.hpp index 2a0c112bf5..d33580ca53 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_IsSortedUntil.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_IsSortedUntil.hpp @@ -54,10 +54,15 @@ struct StdIsSortedUntilFunctor { m_reducer(std::move(reducer)) {} }; +// +// overloads accepting exespace +// template -IteratorType is_sorted_until_impl(const std::string& label, - const ExecutionSpace& ex, IteratorType first, - IteratorType last, ComparatorType comp) { +IteratorType is_sorted_until_exespace_impl(const std::string& label, + const ExecutionSpace& ex, + IteratorType first, + IteratorType last, + ComparatorType comp) { // checks Impl::static_assert_random_access_and_accessible(ex, first); Impl::expect_valid_range(first, last); @@ -81,7 +86,6 @@ IteratorType is_sorted_until_impl(const std::string& label, label, // use num_elements-1 because each index handles i and i+1 RangePolicy(ex, 0, num_elements - 1), - // use CTAD StdIsSortedUntilFunctor(first, comp, reducer), reducer); /* If the reduction result is equal to the initial value, @@ -98,12 +102,66 @@ IteratorType is_sorted_until_impl(const std::string& label, } template -IteratorType is_sorted_until_impl(const std::string& label, - const ExecutionSpace& ex, IteratorType first, - IteratorType last) { +IteratorType is_sorted_until_exespace_impl(const std::string& label, + const ExecutionSpace& ex, + IteratorType first, + IteratorType last) { using value_type = typename IteratorType::value_type; using pred_t = Impl::StdAlgoLessThanBinaryPredicate; - return is_sorted_until_impl(label, ex, first, last, pred_t()); + return is_sorted_until_exespace_impl(label, ex, first, last, pred_t()); +} + +// +// overloads accepting team handle +// +template +KOKKOS_FUNCTION IteratorType +is_sorted_until_team_impl(const ExecutionSpace& teamHandle, IteratorType first, + IteratorType last, ComparatorType comp) { + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first); + Impl::expect_valid_range(first, last); + + const auto num_elements = Kokkos::Experimental::distance(first, last); + + // trivial case + if (num_elements <= 1) { + return last; + } + + /* + Do a par_reduce computing the *min* index that breaks the sorting. + If one such index is found, then the range is sorted until that element, + if no such index is found, then it means the range is sorted until the end. + */ + using index_type = typename IteratorType::difference_type; + index_type red_result; + index_type red_result_init; + ::Kokkos::Min reducer(red_result); + reducer.init(red_result_init); + ::Kokkos::parallel_reduce( // use num_elements-1 because each index handles i + // and i+1 + TeamThreadRange(teamHandle, 0, num_elements - 1), + StdIsSortedUntilFunctor(first, comp, reducer), reducer); + teamHandle.team_barrier(); + + /* If the reduction result is equal to the initial value, + and it means the range is sorted until the end */ + if (red_result == red_result_init) { + return last; + } else { + /* If such index is found, then the range is sorted until there and + we need to return an iterator past the element found so do +1 */ + return first + (red_result + 1); + } +} + +template +KOKKOS_FUNCTION IteratorType is_sorted_until_team_impl( + const ExecutionSpace& teamHandle, IteratorType first, IteratorType last) { + using value_type = typename IteratorType::value_type; + using pred_t = Impl::StdAlgoLessThanBinaryPredicate; + return is_sorted_until_team_impl(teamHandle, first, last, pred_t()); } } // namespace Impl diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_LexicographicalCompare.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_LexicographicalCompare.hpp index ad7f59232e..b95a66c3bd 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_LexicographicalCompare.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_LexicographicalCompare.hpp @@ -84,13 +84,15 @@ struct StdLexicographicalCompareFunctor { m_comparator(std::move(_comp)) {} }; +// +// exespace impl +// template -bool lexicographical_compare_impl(const std::string& label, - const ExecutionSpace& ex, - IteratorType1 first1, IteratorType1 last1, - IteratorType2 first2, IteratorType2 last2, - ComparatorType comp) { +bool lexicographical_compare_exespace_impl( + const std::string& label, const ExecutionSpace& ex, IteratorType1 first1, + IteratorType1 last1, IteratorType2 first2, IteratorType2 last2, + ComparatorType comp) { // checks Impl::static_assert_random_access_and_accessible(ex, first1, first2); Impl::static_assert_iterators_have_matching_difference_type(first1, first2); @@ -139,16 +141,84 @@ bool lexicographical_compare_impl(const std::string& label, } template -bool lexicographical_compare_impl(const std::string& label, - const ExecutionSpace& ex, - IteratorType1 first1, IteratorType1 last1, - IteratorType2 first2, IteratorType2 last2) { +bool lexicographical_compare_exespace_impl( + const std::string& label, const ExecutionSpace& ex, IteratorType1 first1, + IteratorType1 last1, IteratorType2 first2, IteratorType2 last2) { using value_type_1 = typename IteratorType1::value_type; using value_type_2 = typename IteratorType2::value_type; using predicate_t = Impl::StdAlgoLessThanBinaryPredicate; - return lexicographical_compare_impl(label, ex, first1, last1, first2, last2, - predicate_t()); + return lexicographical_compare_exespace_impl(label, ex, first1, last1, first2, + last2, predicate_t()); +} + +// +// team impl +// +template +KOKKOS_FUNCTION bool lexicographical_compare_team_impl( + const TeamHandleType& teamHandle, IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2, IteratorType2 last2, ComparatorType comp) { + // checks + Impl::static_assert_random_access_and_accessible(teamHandle, first1, first2); + Impl::static_assert_iterators_have_matching_difference_type(first1, first2); + Impl::expect_valid_range(first1, last1); + Impl::expect_valid_range(first2, last2); + + // aliases + using index_type = typename IteratorType1::difference_type; + using reducer_type = FirstLoc; + using reduction_value_type = typename reducer_type::value_type; + + // run + const auto d1 = Kokkos::Experimental::distance(first1, last1); + const auto d2 = Kokkos::Experimental::distance(first2, last2); + const auto range = Kokkos::min(d1, d2); + reduction_value_type red_result; + reducer_type reducer(red_result); + using func1_t = + StdLexicographicalCompareFunctor; + + ::Kokkos::parallel_reduce(TeamThreadRange(teamHandle, 0, range), + func1_t(first1, first2, reducer, comp), reducer); + + teamHandle.team_barrier(); + + // no mismatch + if (red_result.min_loc_true == + ::Kokkos::reduction_identity::min()) { + auto new_last1 = first1 + range; + auto new_last2 = first2 + range; + bool is_prefix = (new_last1 == last1) && (new_last2 != last2); + return is_prefix; + } + + // check mismatched + int less = 0; + auto it1 = first1 + red_result.min_loc_true; + auto it2 = first2 + red_result.min_loc_true; + using func2_t = StdCompareFunctor; + ::Kokkos::parallel_reduce(TeamThreadRange(teamHandle, 0, 1), + func2_t(it1, it2, comp), less); + + teamHandle.team_barrier(); + + return static_cast(less); +} + +template +KOKKOS_FUNCTION bool lexicographical_compare_team_impl( + const TeamHandleType& teamHandle, IteratorType1 first1, IteratorType1 last1, + IteratorType2 first2, IteratorType2 last2) { + using value_type_1 = typename IteratorType1::value_type; + using value_type_2 = typename IteratorType2::value_type; + using predicate_t = + Impl::StdAlgoLessThanBinaryPredicate; + return lexicographical_compare_team_impl(teamHandle, first1, last1, first2, + last2, predicate_t()); } } // namespace Impl diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_MinMaxMinmaxElement.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_MinMaxMinmaxElement.hpp index 048420f7a8..2f51db03b4 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_MinMaxMinmaxElement.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_MinMaxMinmaxElement.hpp @@ -63,12 +63,16 @@ struct StdMinMaxElemFunctor { : m_first(std::move(first)), m_reducer(std::move(reducer)) {} }; +// +// exespace impl +// template